我可以在声明后设置常量值吗?

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