decltype
decltype
是 C++11 中引入的新关键字,用于推断表达式的类型。它主要用于模板编程、泛型代码和代码优化。通过 decltype
,我们可以在编译时获取一个表达式的精确类型,而无需手动指定。
decltype 的作用
decltype
的主要功能是返回表达式的类型。以下是一些典型的应用场景:
- 变量类型推断
- 函数返回类型定义
- 模板类型推断
decltype 的基本用法
示例 1:推断变量类型
#include <iostream>
int main() {
int x = 10;
decltype(x) y = 20; // y 的类型是 int
std::cout << "x: " << x << ", y: " << y << std::endl;
return 0;
}
在这个例子中,decltype(x)
推断出 x
的类型是 int
,因此 y
的类型也被推断为 int
。
示例 2:推断表达式的类型
#include <iostream>
int main() {
int x = 10;
float y = 20.5;