如何在 C++ 中将整数值读入常量?

Jeg*_*ovs 0 c++ java

如何正确地将此代码从 Java 重写为 C++:

final int number = scanner.nextInt();
Run Code Online (Sandbox Code Playgroud)

我正在尝试,const number << cin;但它不起作用。

数量应该是恒定的。

在 C++ 中可能吗?

for*_*818 7

您不能分配给const. 你必须初始化它:

int x = 0;
std::cin >> x;
const int number = x;
Run Code Online (Sandbox Code Playgroud)

如果你愿意,把它放在一个函数中,这样你就可以写:

const int number = read_number();
Run Code Online (Sandbox Code Playgroud)

正如评论中提到的,使用立即调用的 lambda 表达式,您可以在一行中完成所有操作:

const int number = [](){ int x; std::cin >> x; return x; }();
Run Code Online (Sandbox Code Playgroud)

lambda 表达式是[](){ int x; std::cin >> x; return x; }()立即调用它并number使用返回值进行初始化。