C++ decltype关键字
C++ decltype关键字
[*]希望根据表达式判定变量类型,但不用表达式的值初始化变量
[*]
[*]如果表达式的结果对象能作为一条赋值语句的左值,则表达式将向decltype返回一个引用类型
[*]变量加上括号后会被编译器视为一个表达式
希望根据表达式判定变量类型,但不用表达式的值初始化变量 decltype(f()) sum = x; f()并不会被调用,sum为f()的返回类型
引用从来都作为其所指对象的同义词出现,只有在decltype处是一个例外
如果表达式的结果对象能作为一条赋值语句的左值,则表达式将向decltype返回一个引用类型
decltype(*p) c; //错误,c是int &,必须初始化
变量加上括号后会被编译器视为一个表达式
decltype((i)) d; //错误,d是int &,必须初始化
页:
[1]