首页 > 解决方案 > 如何在 C++ 中将整数值读入常量?

问题描述

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

final int number = scanner.nextInt();

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

数字应该是恒定的。

在 C++ 中可能吗?

标签: javac++

解决方案


您不能分配给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


推荐阅读