这个问题在这里已有答案:
目标
最后,我想知道使用#define
是否对您的代码有害,以及为什么。
码
#include <iostream>
using namespace std;
#define favouriteNumber 20;
int main()
{
int number = favouriteNumber;
cout << number;
}
根据Stroustrup,它对于定义常量特别“糟糕”,因为编译器无法检查类型。
另一方面,如果一行宏节省了20行显式代码,有些人肯定会认为即使它本身不安全也很有用。这是因为编写更多代码通常意味着更高的错误概率。