我是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
,编译器将无法帮助您,并且您现在有一个可能很难找到的错误。