我可以在声明后设置常量值吗?
Can I set constant value after declaration?
我可以在 C++ 中声明后设置常量值吗?我试过了:
#include <iostream>
using namespace std;
int main(){
const int a;
a = 56;
cout << a;
return 0;
}
编译成功,控制台输出4309678
不,你不能。此外,那甚至不会编译。您需要初始化 const
值:
const int a = 56;
或:
const int a{ 56 };
在那之后你不能给一个变量赋新值,因为const将它标记为只读所以这不会编译:
const int a = 56;
a = 57; // error: assignment of read-only variable 'a'
如果在 GCC 上,保持常量未初始化将产生以下错误:
error: uninitialized const 'a' [-fpermissive]
或者如果使用 Visual C++:
const variable "a" requires an initializer
我可以在 C++ 中声明后设置常量值吗?我试过了:
#include <iostream>
using namespace std;
int main(){
const int a;
a = 56;
cout << a;
return 0;
}
编译成功,控制台输出4309678
不,你不能。此外,那甚至不会编译。您需要初始化 const
值:
const int a = 56;
或:
const int a{ 56 };
在那之后你不能给一个变量赋新值,因为const将它标记为只读所以这不会编译:
const int a = 56;
a = 57; // error: assignment of read-only variable 'a'
如果在 GCC 上,保持常量未初始化将产生以下错误:
error: uninitialized const 'a' [-fpermissive]
或者如果使用 Visual C++:
const variable "a" requires an initializer