
auto 关键字背后的原理是,编译器会查看变量的初始化表达式,并确定该表达式的类型。然后,编译器将该类型应用于 auto 声明的变量。
例如:
int x = 10;
auto y = x; // y 的类型是 int在上面的代码中,y 被自动推导为 int 类型,因为 x 是 int 类型的。
std::vector<int> v = {1, 2, 3, 4, 5};
auto it = v.begin(); // it 的类型是 std::vector<int>::iterator for (auto elem : v) {
// ...
}