CppCoreGuidelines T.43 用 using 来定义别名,避免用 typedef
11 September 2023
“Prefer using over typedef for defining aliases”
理由
可读性:用 using
的话,新的别名出现在最前面,而不是嵌入到声明的某个地方。
通用性: using
可以用于模板别名,而 typedef
很难称为模板。
统一性: using
和 auto
的语法差不多。
例子
typedef int (*PFI)(int); // OK, but convoluted using PFI2 = int (*)(int); // OK, preferred template<typename T> typedef int (*PFT)(T); // error template<typename T> using PFT2 = int (*)(T); // OK
强化
- 标记出现
typedef
的地方。或许能给出不少“提示”。