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的地方。或许能给出不少“提示”。