【发布时间】:2020-11-29 22:44:05
【问题描述】:
我经常在大型库中看到类似于以下的代码:
#define MY_CONSTEXPR constexpr
#define MY_NOEXCEPT noexcept
#define MY_NODISCARD [[nodiscard]]
etc.
为这些关键字创建别名的目的/好处是什么?我经常看到这种情况,但找不到任何关于这种做法的信息。如果我不得不猜测,原因是你可以有条件地编译你是否希望这些关键字出现在你的编译中。
【问题讨论】:
-
使该代码与不支持这些关键字的旧编译器兼容
-
@Slava 或支持使用非标准扩展支持它们的编译器