快捷方式
传统的C++变量定义明确指定了类型和变量名。但一些语言特性允许程序员使用快捷方式,而无需完全指定类型和变量名。

模板类型别名
“类型别名”让你为现有类型使用一个新名称。

传统的写法是 typedef int INTEGER_VIA_TYPEDEF;

在现代C++中,写法是 using INTEGER_VIA_USING = int;。只有现代语法可以进行模板化。

从另一个变量
如果变量 iOtherVar 已经被定义为 int 类型,那么定义 decltype(iOtherVar) iVar = 22; 与定义 int iVar = 22; 是等效的。这个 decltype() 快捷方式甚至可以引用一个完整的表达式。

初始化
编译器可以根据变量初始化数据推断变量的类型。因此,定义 auto iVar = 11; 与定义 int iVar = 11; 是等效的(因为 11 是一个 int 字面量)。

从返回语句
编译器可以根据函数的返回语句推断函数的返回类型,可以通过将返回类型指定为 autodecltype(auto) 来实现。

尾部返回类型
在模板代码中(使用模板参数 T),如果你希望编译器根据涉及参数类型的表达式推断函数的返回类型,那么可以使用这种“尾部返回类型”语法:
auto AddTwo(T x) -> decltype(x+2) { return x+2; }

最后修改: 2025年01月17日 星期五 22:00