在 C 11 中,'using' 现在可以定义类似于 'typedefs' 的类型别名:
typedef int MyInt; // Equivalent to: using MyInt = int;
虽然“使用”最初是为了支持模板而引入的typedefs:
template< class T > using MyType = AnotherType< T, MyAllocatorType >;
这提出了一个问题:在处理非模板类型时,'typedef' 和 'using' 之间是否存在细微差别。
别名行为和含义
“typedef”和“using”都会为现有的创建别名或新名称类型,而不是定义一个新类型。这意味着别名和原始类型之间的转换是隐式的。
因此,“typedef”和“using”在别名行为方面没有区别。两种构造都会创建引用相同基础类型的弱别名。
以上是对于非模板类型,'using”能否完全替换 C 11 中的'typedef”?的详细内容。更多信息请关注PHP中文网其他相关文章!