【C++学習|初心者向け】C++で安全なコードを書く第一歩!「const」で定数を定義しよう

導入: なぜ「const」が必要なのか?

プログラムを書いていると、「この値はプログラム実行中に絶対に変更されてはいけない」という場面が必ず出てきます。例えば、画面の最大サイズや、消費税率、あるいは最大ユーザー数などです。もし、これらの値がうっかり別の場所で書き換えられてしまったら、プログラムは予期せぬ動作(バグ)を引き起こします。これを未然に防ぐのが「const修飾子」です。constを使うことで、コードの安全性が劇的に向上します。

基礎知識: constとは何か?

C++における「const(コンスト)」とは、定数を定義するためのキーワードです。変数を宣言する際に型の前にconstを付けると、その変数は「読み取り専用」になります。一度値を代入したら、それ以降その値を変更しようとすると、コンパイラがエラーを出して止めてくれます。これにより、プログラマのミスによる値の書き換えを「コンパイル段階」で防ぐことができるのです。

実装/解決策: 正しい定数の書き方

定数を定義する際は、慣習として「変数名をすべて大文字」にするのが一般的です。これにより、コードを読んでいる時に「これは書き換えができない定数だな」とひと目で判断できるようになります。また、const変数は「宣言と同時に値を代入(初期化)」しなければならないというルールがあるため、必ず定義とセットで値を指定しましょう。

サンプルプログラム

以下のコードをコピーして、実際にコンパイルして動作を確認してみてください。

#include

int main() {
// constを使用して最大ユーザー数を定義
const int MAX_USERS = 100;

// 定数なので、値を出力することは可能
std::cout << "最大ユーザー数: " << MAX_USERS << std::endl; // 以下の行のコメントアウトを外すと、コンパイルエラーになります // MAX_USERS = 200; // エラー: 読み取り専用の変数に値を代入しようとしているため // 制御構造(if文)との組み合わせ int current_users = 105; if (current_users > MAX_USERS) {
std::cout << "制限人数を超えています!" << std::endl; } return 0; }

応用・注意点: 現場で役立つアドバイス

実務では、単に数値を直接書くのではなく、constを使って意味のある名前を付けることが非常に重要です。これを「マジックナンバーを避ける」と呼びます。例えば、ソースコードの中に突然「100」と書かれていると、それが何を意味するのか後から読んだ時に分かりません。しかし「MAX_USERS」という名前であれば、すぐに役割が理解できます。

注意点として、const変数は「初期化を忘れないこと」が大切です。また、constはポインタやクラスのメンバ関数など、非常に奥が深い概念です。まずは、プログラム内で変化させたくない数値に対して「とりあえずconstを付けてみる」という習慣から始めてみてください。これだけで、あなたの書くコードの品質はグッと上がります。

コメント

タイトルとURLをコピーしました