cpp11的自动类型推导
时间: 2023-06-01 09:02:40 浏览: 110
C++11 (智能指针、关键字、类型推导、新特性)
C++11引入了auto关键字,可以用于自动推导变量类型。auto关键字可以用于函数返回值、变量声明、迭代器声明等。在使用auto时,编译器会根据表达式的类型自动推导出变量的类型。例如:
```c++
auto i = 1; // 推导出i的类型为int
auto d = 3.14; // 推导出d的类型为double
auto s = "hello"; // 推导出s的类型为const char*
```
在函数返回值中使用auto时,需要使用尾置返回类型(trailing return type):
```c++
auto add(int a, int b) -> int // 尾置返回类型
{
return a + b;
}
```
auto关键字还可以和decltype关键字一起使用,用于推导表达式的类型:
```c++
int a = 1;
decltype(a) b = 2; // 推导出b的类型为int
auto c = a + b; // 推导出c的类型为int
```
阅读全文