什么时候使用auto
合理使用auto,可以让程序员从复杂的类型编码中解放出来,合理使用auto,可以让程序员从复杂的类型编码中解放出来。
那么什么时候使用auto呢?
1.当一眼就能看出声明变量的初始化类型的时候可以使用auto。
std::map<std::string, int> str2int;
// … 填充str2int的代码
for (auto it = str2int.cbegin(); it != str2int.cend(); ++it) {}
// 或者
for (auto &it : str2int) {}
2.对于复杂的类型,例如lambda表达式、bind等直接使用auto。
auto l = [](int a1, int a2) { return a1 + a2; };
int sum(int a1, int a2) { return a1 + a2; }
auto b = std::bind(sum, 5, std::placeholders::_1);