在C和C++中将变量声明为常量的不同方法

有多种方法可以使变量为常数
使用const关键字:
const关键字指定变量或对象值是常量, 并且在编译时不能修改。

//C program to demonstrate const specifier #include < stdio.h> int main() { const int num = 1; num = 5; //Modifying the value return 0; }

It will throw as error like: error: assignment of read-only variable ‘num’

使用enum关键字:
enum(或枚举)是C和C++中用户定义的数据类型。它主要用于为整数常量分配名称, 使程序易于阅读和维护。
//In C and C++ internally the default //type of 'var' is int enum VARS { var = 42 }; //In C++ 11 (can have any integral type): enum : type { var = 42; }//where mytype = int, char, long etc. //but it can't be float, double or //user defined data type.

注意:的数据类型枚举正如我们在上面的示例中看到的那样, 当然受到限制。
使用constexpr关键字:
在C++中使用constexpr(不在C中)可用于将变量声明为保证的常量。但是, 如果其初始值设定项不是常量表达式, 则它将无法编译。
#include < iostream> int main() { int var = 5; constexpr int k = var; std::cout < < k; return 0; }

上面的程序将引发错误, 即
error: the value of ‘var’ is not usable in a constant expression

因为变量” var” 不是常量表达式。因此, 为了使其恒定, 我们必须使用以下方法声明变量” var” :const关键词。
使用#define:
【在C和C++中将变量声明为常量的不同方法】我们还可以使用宏来定义常量, 但是有一个陷阱,
#define var 5

    推荐阅读