C++语言
完成条件
快捷方式
传统的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
字面量)。
从返回语句
编译器可以根据函数的返回语句推断函数的返回类型,可以通过将返回类型指定为 auto
或 decltype(auto)
来实现。
尾部返回类型
在模板代码中(使用模板参数 T
),如果你希望编译器根据涉及参数类型的表达式推断函数的返回类型,那么可以使用这种“尾部返回类型”语法:auto AddTwo(T x) -> decltype(x+2) { return x+2; }
。
最后修改: 2025年01月17日 星期五 22:00