在C++11中引入了auto关键字,用于自动推导变量的类型。其语法形式为auto 变量名 = 表达式;,其中表达式的类型将被自动推导为变量名的类型。
auto的使用可以简化代码,避免重复声明变量类型,并且可以处理复杂的类型推导,例如使用迭代器遍历容器中的元素或者函数返回值类型不确定的情况。
下面是一些示例代码来演示auto的用法:
// 使用auto进行变量类型推导auto num = 10; // 推导为int类型auto name = "Alice"; // 推导为const char*类型auto result = 3.14 + 2; // 推导为double类型// 使用auto遍历容器中的元素std::vector<int> numbers = {1, 2, 3, 4, 5};for(auto it = numbers.begin(); it != numbers.end(); ++it) { std::cout << *it << " ";}// 输出:1 2 3 4 5// 使用auto推导函数返回值类型auto add(int a, int b) -> int { return a + b;}auto divide(double a, double b) -> decltype(a / b) { return a / b;}需要注意的是,auto只能在定义变量时使用,无法用于函数参数、类的成员变量等地方。并且在使用auto推导变量类型时,需要确保表达式的类型是明确的,否则编译器将无法推导出正确的类型。

