C ++宏什么时候有用?
该ç预处理器有理由担心和C ++社区避之唯恐不及。内联功能,功能和模板通常是更安全和更好的替代品#define
。
以下宏:
#define SUCCEEDED(hr) ((HRESULT)(hr) >= 0)
绝不是优于安全类型:
inline bool succeeded(int hr) { return hr >= 0; }
但宏确实有它们的位置,请列出您为宏找到的用途,如果没有预处理器,您就无法做到。
请将每个用例放在一个单独的答案中,以便可以进行投票,如果您知道如何在没有预备教授的情况下实现其中一个答案,请指出该答案的评论。
烙印99
慕工程0101907
繁花不似锦
相关分类