Fre*_*ter 2 c++ const constants
所以,我有这个C++测试,老师很难声明常量,而不是直接在代码中使用数字.在下面的例子中,我甚至将ZERO声明为常量.
这是不必要的还是这是一件好事?这种方式会占用更多内存还是使代码"变慢"?
int main() {
int kmStart, kmEnd;
const int ZERO = 0;
cout << "Starting Kms? ";
cin >> kmStart;
cout << "Ending Kms? ";
cin >> kmEnd;
while (kmStart < ZERO || kmStart > kmEnd) {
cout << "Invalid Input!" << endl << endl;
cout << "Starting Kms? ";
cin >> kmStart;
cout << "Ending Kms? ";
cin >> kmEnd;
}
}
Run Code Online (Sandbox Code Playgroud)
constexpr int ZERO = 0; 几乎肯定会完全编译出来.
请注意新的关键字constexpr,从C++ 11开始.
对于你当前的代码,ZERO可能很好地编译出来,但即使它没有任何性能下降也可以忽略不计.输入/输出功能.
我想知道为什么你的老师ZERO要比你更清楚0.当他们看到一个人时,每个人都知道他们正在处理什么0.例如,ZERO可能是可行的意思'0',甚至"0"是完全不同的野兽:在调试时你总是要检查代码.