A.7 自动推导变量类型

    常规的解决办法是使用typedef来缩短类型名的长度。这种方式在C++11中仍然可行,不过这里要介绍一种新的解决办法:如果一个变量需要通过一个已初始化的变量类型来为其做声明,那么就可以直接使用关键字。这样,编译器就会通过已初始化的变量,去自动推断变量的类型。

    1. auto iter=m.find("my key");

    变量类型的推导规则是建立一些语言规则基础上:函数模板参数。其声明形式如下:

      在使用auto的时候,数组类型将衰变为指针,引用将会被删除(除非将类型进行显式为引用),比如:

      1. int some_array[45];
      2. int& r=*p;
      3. auto& y=r; // int&