有没有别的方法在c++中定义SIZE 50 ?
Is there another way to code #define SIZE 50 in c++
我有一个程序,需要定义50。这是唯一的方法吗?
#define SIZE 50
使用#define
s作为常量显然是"老派的",并且有许多缺点。最好使用const
,例如
const size_t SIZE = 50;
注意,这同样适用于c++, C和Objective-C。
使用const int?
const int size = 50;
这与#define的含义不同,而且更安全。#define只是做了一个预处理的剪切和粘贴,同时定义了一个常量,你需要进行类型检查。你不能对#define要做的所有事情都使用它,但它可以用于一般常量和静态数组的长度。
c++ 11引入constexprconstexpr int size = 50;
constexpr扩展了常量的功能,包括更多的编译时计算。
相关文章:
- 在提升multi_index容器中,是否定义了"default index"?
- #定义c-预处理器常量..我做错了什么
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 用C++中的一个变量定义一个常量
- 部分定义/别名模板模板参数
- C++映射:具有自定义类的运算符[]不起作用(总是返回0)
- #为""定义宏;静态";针对不同的上下文
- 如何确保C++函数在定义之前声明(如override关键字)
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 当类在C++中定义时,有什么方法可以"register"类吗?
- 在命名空间中定义函数还是限定函数
- 此代码是否违反一个定义规则
- 编译C++时未定义的引用
- 不同翻译单元中不可重载的非内联函数定义
- 从 std::string 到 std::array<char,size> 的 memcopy 额外数据是否是一种未定义的行为?
- 在C++中定义包含TTF_Font变量的向量时"Undefined size"错误
- 瓦尔格林德:抛出自定义异常时"invalid read size 1"
- C++模板,vector.size用于默认参数定义
- 为什么 gcc 4.9.0 中没有定义"void operator delete(void* ptr, std::size_t size) noexcept;"?
- 有没有别的方法在c++中定义SIZE 50 ?