我应该在 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];
}
}
我是 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];
}
}