假设我想从 cin 读取一个整数,然后使其不可变。我可以:
int a;
cin >> a;
const int b = a;
Run Code Online (Sandbox Code Playgroud)
然后,我将有一个变量(b),它被初始化为用户数据,但不能更改。但是,我认为我在这里滥用了 const 关键字。这是可以接受的事情吗?编译器似乎对此没问题,但我只是想知道从风格的角度来看它是否正确。
完全没问题。您可以自由地从非常量数据(甚至用户输入的数据)创建常量变量。
您甚至可以编写一个函数,这样之后就不会出现杂散a变量了。例如:
int read_int(std::istream& in) {
int a;
in >> a;
return a;
}
int const b = read_int(std::cin);
Run Code Online (Sandbox Code Playgroud)