1.auto关键字 C++新标准引入auto关键词,此auto与之前C语言的auto意义已经不一样了. 这里的auto是修饰未知变量的类型,编译器会通过此变量的初始化自动推导变量的类型. 例如:auto i = 0 :编译器会通过“0”值,推导出变量i是整型. 如果初始值是引用,如: [cpp] view plain copy int i = 4; int &ri = i; auto ai = ri; 通过应用是利用了ri指向的对象,所以ai的类型是int.也就是ai与i的类型是相同的. 另…
VS2015下测试: decltype: class Foo {}; int &func_int_r(void) { int i = 0; return i; }; int &&func_int_rr(void) { return 0; }; int func_int(void) { return 0; }; const int &func_cint_r(void) { int i = 0; return i; }; const int &&func_cin…
返回值 decltype(表达式) [返回值的类型是表达式参数的类型] 这个可也用来决定表达式的类型,就像Bjarne暗示的一样,如果我们需要去初始化某种类型的变量,auto是最简单的选择,但是如果我们所需的类型不是一个变量,例如返回值这时我们可也试一下decltype. 现在我们回看一些例子我们先前做过的, template <class U, class V> void Somefunction(U u, V v) { result = u*v;//now what type would…