auto specifier
auto这个关键字是由c++11引进的,使用auto,我们可以声明变量而无需指定其类型,其类型由初始化的数据进行推断。
1 | // type int |
我们也可以记录一些其他的类型,例如函数或者迭代器,以下就是将一个lambda函数存放在auto:
1 | auto fun_sum = [](int a , int b){ |
auto的最大优点就是,我们不需要书写很长的变量类型:
1 | std::map<std::string, std::string> mapOfStrs; |
Important points about auto variable in C++11
- 初始化auto变量后,您可以更改值,但不能更改类型
- 不能只声明而不进行初始化
Returning an auto from a function
要从函数返回auto变量,我们可以以特殊方式声明它
1 | auto sum(int x, int y) -> int |