我应该在 c++ 中使用"const"关键字吗



我是C++的新手,遇到过const关键字。我在网上查了一下,发现它的主要用途是防止在整个程序中更改值。我在下面有这两个片段

const int size = 56;

与使用相比

int size = 56;

为什么我应该使用其中一个而不是另一个?使用它背后的想法是什么。

是的,如果在初始化后永远不会更改其值,则应使所有变量成为const。这可以防止你意外更改不应该更改的值时出现错误。你似乎已经意识到了这一点。

此外,还有一点您可能不知道,那就是使int变量const也使其成为常量表达式,只要初始值设定项本身也是常量表达式,例如int字面56。这允许您在需要常量表达式的上下文中使用它,例如作为静态数组的维度:

const int size = 56;
int a[size]; // ok
int size = 56;
int a[size]; // error

在c++中,当您想要声明在整个程序中不会改变其值的东西时,会使用CONST。但是,如果你不小心试图重写它的值,编译器就会出错。大多数情况下,建议声明int类型的变量,以便在需要时重新定义其值。CONST用于声明静态数组,即

const int a = 100;
int sampleAray[a];

当您使用int时,变量的值将在某个点修改,即

int a = 12;
int arr[4] = {11,22,33,554};
for (int i=0; i<4; i++){
if(arr[i]%2 == 0){
a+=arr[i];
}
}

当您有一个const变量包含不应该更改的内容,并且意外地编写了修改该变量的代码时,您会得到一个很好的编译器错误,可以很容易地纠正错误。如果变量是非const,编译器将无法帮助您,并且您现在有一个可能很难找到的错误。

最新更新