C++11标准带来了很多新特性,其中auto关键字的引入,极大地提高了编程的便利性和代码的可读性。本文将通过实例详解auto关键字的使用。
1. auto关键字简介
在C++11之前,auto关键字主要用于自动存储类说明符,但在C++11中,其含义发生了改变。现在,auto关键字用于自动类型推导,由编译器根据初始化表达式的类型自动推断变量的类型。
例如:
auto x = 5; // x的类型为int
auto y = 3.14; // y的类型为double
auto z = "Hello, world!"; // z的类型为const char*
在这个例子中,auto关键字让编译器自动推断x、y和z的类型。
2. auto关键字与迭代器
在使用STL容器时,迭代器(iterator)的类型往往很长,使用auto关键字可以避免手动写出复杂的类型。
例如:
std::vector numbers = {1, 2, 3, 4, 5};
for (auto it = numbers.begin(); it != numbers.end(); ++it) {
std::cout 运算符一起用于推断add函数的返回值类型。
4. auto关键字与范围for循环
C++11标准引入了范围for(range-based for)循环,结合auto关键字,可以更方便地遍历容器。
例如:
std::vector numbers = {1, 2, 3, 4, 5};
for (auto number : numbers) {
std::cout