decltype 关键字

1. 定义

decltype是C++11引入的一个关键字,用于在编译时确定表达式的类型。它可以用于推导变量的类型,或者用于定义函数的返回类型。

2. 用法

decltype关键字通常用于推导变量的类型,或者用于定义函数的返回类型。

1
2
3
4
5
6
7
8
9
10
int x = 10;
decltype(x) y = 20; // y的类型为int
auto func(int a, int b) -> decltype(a + b) {
return a + b;
}
decltype(func(1, 2)) z = func(1, 2); // z的类型为int
decltype(auto) w = x; // w的类型为int&
decltype(auto) func2(int a, int b) {
return a + b;
}