【发布时间】:2018-08-11 17:21:38
【问题描述】:
目标
最后,我想知道使用#define 是否对您的代码不利,以及为什么。
代码
#include <iostream>
using namespace std;
#define favouriteNumber 20;
int main()
{
int number = favouriteNumber;
cout << number;
}
【问题讨论】:
-
总是让我想起 Prince 的那首老歌,“今晚我要像 1969 年一样编程”。
-
宏是一种生硬的工具。并非所有宏的使用都是不好的。有些是不可避免的。但是,您的示例中的用法肯定是不好的,因为它是不必要的。
-
@Galik 这也很糟糕,因为它不是 ALL_UPPERCASE 并且包含
;。 -
不错的副本,如果有点不合时宜:
static constexpr在很多方面都优于static const。
标签: c++ c++14 c-preprocessor