java - 如何在 C++ 中将整数值读入常量?
问题描述
如何正确地将此代码从 Java 重写为 C++:
final int number = scanner.nextInt();
我正在尝试const number << cin;
,但它不起作用。
数字应该是恒定的。
在 C++ 中可能吗?
解决方案
您不能分配给const
. 你必须初始化它:
int x = 0;
std::cin >> x;
const int number = x;
如果你愿意,可以把它放在一个函数中,这样你就可以写:
const int number = read_number();
如评论中所述,使用立即调用的 lambda 表达式,您可以在一行中完成所有操作:
const int number = [](){ int x; std::cin >> x; return x; }();
lambda 表达式立即调用它并[](){ int x; std::cin >> x; return x; }
使用返回值进行初始化。()
number