この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;
}
}
定数は、コンパイル時に解決し、最適化されます。実行時に余分なメモリやパフォーマンスを犠牲にすることはありません。 – user0042
もちろんこれは不要です!それは定数のためではありません!実際、Bathshebasの答えに見られるように、これは実際に大きなプログラムで傷つける可能性があります! –
定数 'ZERO'を持つことは、定数' FORTY_FIVE'を持つようなものです。リテラル値 '45'を入力することと変わりありません。定数を使用して、目的を説明する特定でない値を表します。 – Galik