-1

stackoverflow 上的大多数人都说在 C++ 中使用宏太可怕了。我不明白这背后的想法。我知道 C++ 中有替代方案,但为什么它“错误”?

4

1 回答 1

2

让我们看看 Stroustrup 怎么说:

那么,使用宏有什么问题呢?

宏不遵守 C++ 范围和类型规则。这通常是微妙和不那么微妙问题的原因。因此,C++ 提供了更适合其他 C++ 的替代方案,例如内联函数、模板和命名空间。

...

是的,我确实知道有些东西被称为宏,它们不会遇到 C/C++ 预处理器宏的问题。但是,我没有改进 C++ 宏的野心。相反,我建议使用适当的 C++ 语言工具,例如内联函数、模板、构造函数(用于初始化)、析构函数(用于清理)、异常(用于退出上下文)等。

于 2013-09-02T08:41:03.503 回答