个性化阅读
专注于IT技术分析

在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:

我们还可以使用宏来定义常量, 但是有一个陷阱,

#define var 5
赞(0)
未经允许不得转载:srcmini » 在C和C++中将变量声明为常量的不同方法

评论 抢沙发

评论前必须登录!