我应该在 C++ 中使用 'const' 关键字吗?

Should I use the 'const' keyword in c++

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

const int size = 56;

与使用

相比
int size = 56;

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

是的,如果您永远不打算在初始化后更改其值,则应将 所有 个变量设置为 const。这可以防止您不小心更改不应该更改的值的错误。你似乎已经意识到了这一点。

此外,有一点您可能没有意识到,那就是将 int 变量设置为 const 也会使其成为 constant-expression,只要初始化程序本身也是一个 constant-expression,例如int 文字 56。这允许您在需要 constant-expression 的上下文中使用它,例如作为静态数组的维度:

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

当您有一个 const 变量保存不应更改的内容并且不小心编写了修改该变量的代码时,您会得到一个很好的编译器错误并且可以轻松纠正您的错误。如果变量不是 const,编译器无法帮助您,您现在有一个可能很难找到的错误。

在 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];
     }
}