我有一个程序,它需要定义50.这是唯一的方法吗
#define SIZE 50
答案 0 :(得分:5)
使用const int?
const int size = 50;
这与#define有不同的含义,但更安全。 #define只进行预处理剪切和粘贴,同时定义一个常量来维护类型检查。你不能将它用于#define将要做的所有事情,但它适用于一般常量和静态数组的长度。
C ++ 11引入了constexpr
constexpr int size = 50;
constexpr扩展了常量的功能,还包括更多的编译时计算。
答案 1 :(得分:5)
使用#define
s作为常量绝对是“旧skool”并且有许多缺点。最好使用const
,例如
const size_t SIZE = 50;
请注意,这同样适用于C ++,C和Objective-C。