Open pfjhyyj opened 8 years ago
基本形式 auto 变量名 = 表达式; 编译器会按照表达式的类型来确定auto是什么 ××auto 不能只用于声明变量××
std::list<int> li;
for (auto i = li.front(); i != li.back(); li++) {
//function body
}
关于const
const int ci = 1;
auto x = ci; // x类型为int
const auto y = ci; //x类型为const int
可以用于简化声明,如上例所示,提高编写代码的效率 但不可以滥用,会使程序可读性下降
lambda function
基本形式 [capture list] (parameter list) mutable exception -> return type {function body} capture list (捕获列表): 在lambda所在函数中定义的局部变量的列表 (可为空)
parameter list(参数列表): 调用时需要使用的参数的列表(可为空) mutable : 使用此声明则lambda函数中可以更改捕获列表中变量的值(可不使用) exception : 表示函数可以抛出的异常类 return type : 说明返回类型,部分情况下可以省略(可为空)
funtion body : 函数体
用处
当需要一个不需要在很多地方多次使用的函数时,lambda表达式简单而有效 如在find_if中