C++ 中的 typedef 与 using
C++ 中的 typedef 与 using
我知道在C++11中我们现在可以使用using
编写类型别名,就像使用typedef
一样:
typedef int MyInt;
从我所了解的来看,这和以下代码等价:
using MyInt = int;
而这种新语法的出现是为了实现\"模板typedef\":
template< class T > using MyType = AnotherType< T, MyAllocatorType >;
但是,对于前两个非模板示例,标准中是否存在其他细微差别?例如,typedef
以\"弱\"方式进行别名处理。也就是说,它不会创建新类型,而只会创建新名称(这些名称之间的转换是隐式的)。
using
是否相同,还是它生成新类型?是否存在任何差异?
admin 更改状态以发布 2023年5月21日