有多种方法可以使变量为常数
使用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:
我们还可以使用宏来定义常量, 但是有一个陷阱,
#define var 5
评论前必须登录!
注册