C 中“typedef”和“using”有什么区别?
在 C 11 中,“using”关键字可以是用于创建类似于传统“typedef”关键字的类型别名。虽然这两种语法都达到了为现有类型分配新名称的相同结果,但需要考虑它们的语义之间的细微差别。
“using”等于“typedef”吗?
根据 C 标准 (7.1.3.2),“using”引入了一个具有与定义相同语义的 typedef-name使用“typedef”。这意味着“using”不会创建新类型,而是为现有类型提供替代名称。这些名称之间的转换是隐式的。
语义差异
尽管语法和语义相似,但“using”关键字与“typedef”在以下方面有所不同:
template<typename T> using MyType = AnotherType<T, MyAllocatorType>;
以上是C 类型别名的'typedef”和'using”关键字有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!