还有另一种在c ++中编码#define SIZE 50的方法

时间:2014-03-27 22:39:49

标签: c++

我有一个程序,它需要定义50.这是唯一的方法吗

#define SIZE 50

2 个答案:

答案 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。