コメント

プログラムに説明や注釈を付ける方法を学ぶ

概要

コメントとは、 プログラムに説明や注釈を付ける機能です。

コメントは実行されません。 プログラマ同士が何をしているかを説明するためのものです。

コメントの種類

1行コメント

// で始まる行は 行末までコメントです。

// 変数を初期化
int x = 10;

// 画面に出力
std::cout << x << std::endl;

コードの後ろにも付けられます:

int age = 25;  // ユーザーの年齢

複数行コメント

/* から */ までがコメント。 複数行にまたがります。

/*
  このプログラムは
  ユーザーから2つの数値を入力させ
  その合計を計算するプログラムです
*/

int a, b;
std::cin >> a >> b;
int sum = a + b;

コメントの使い方

良い例:わかりやすいコメント

#include <iostream>

int main() {
    // ユーザーから商品単価を入力
    double price;
    std::cout << "単価を入力: ";
    std::cin >> price;
    
    // 個数を入力
    int quantity;
    std::cout << "個数を入力: ";
    std::cin >> quantity;
    
    // 合計金額を計算
    double total = price * quantity;
    
    // 結果を表示
    std::cout << "合計: " << total << " 円" << std::endl;
    
    return 0;
}

複数行コメントの例

/*
  プログラム名: Calculator
  作成者: Yamada Taro
  説明: 2つの数値を入力して、加減乗除を計算する
  作成日: 2026年4月
*/

#include <iostream>

int main() {
    int a = 10;
    int b = 3;
    
    // ...
}

コメントはなぜ必要か

理由1: 数ヶ月後の自分に説明する

数ヶ月前に書いたコードを見直すと、 「これ、何してるやつだ?」となります。 コメントがあると助かります。

理由2: 他の開発者に説明する

チーム開発では、誰かが書いたコードを他の人が読みます。 コメントがないと、理解に時間がかかるか、誤った解釈をしてしまいます。

理由3: 複雑なロジックを説明する

難しい計算や工夫が必要な処理がある場合、 「なぜそう書いたのか」を説明しておくと良いです。

コメントを書くコツ

✅ わかりやすいコメント

// ユーザーの年齢を2倍にして表示
int age = 25;
std::cout << "2倍の年齢: " << age * 2 << std::endl;

❌ 不要なコメント

// 変数 x に 10 を代入
int x = 10;

// x をインクリメント
x++;

// std::cout で x を出力
std::cout << x << std::endl;

理由: コードが平明なので、 わざわざコメントは不要です。 かえって読みづらくなります。

✅ 複雑な処理の説明

// 与えられた年齢から、同じ誕生日なら今年の経験年数を計算
// (誕生日が来ていなければ -1)
// このロジックは法的要件により必要
int calculateYearsOfExperience(int age) {
    // ...計算ロジック...
}

コメントの注意点

注意1: コメントが古くなる

コードを修正するときに、 コメントを忘れて古いままにしてしまうことがあります。 古いコメントは新しいコメントより有害です。

悪い例:

// 2つの数値を足す
int result = a - b;  // ← コメントと合致していない!

注意2: 日本語は文字化けに注意

環境によっては日本語コメントが文字化けすることがあります。 ただし、最近のエディタなら大丈夫な場合が多いです。

注意3: コメントが多すぎる

コメントが多すぎると、読みにくくなります。 コードは自分を説明するべきという考え方もあります。

プログラムの全体構成にコメントを付ける

ファイルの最初に、プログラム全体の説明をコメントで書くのは良い習慣です:

/*
  プログラム名: 買い物計算機
  説明: 商品単価と個数から合計金額を計算するプログラム
  使用方法: 起動後、単価と個数を入力
  作成者: Yamada Taro
  作成日: 2026年4月11日
*/

#include <iostream>

int main() {
    // 処理...
    return 0;
}

ポイント

  • コメントは実行されない。説明・注釈のため
  • // で1行コメント、/* */ で複数行コメント
  • 複雑なロジックに付ける。わかりやすいコードには不要
  • コメントが古くなっていないか常に確認

よくある誤り

誤り1: コメントの終わり忘れ

/* これはコメント
int x = 10;  // このコードはコメント扱い!
y = 20;      // このコードもコメント扱い
*/

// ✅ 正しくは
/* これはコメント */
int x = 10;
int y = 20;

誤り2: 複数行コメントの入れ子は禁止

/* コメント1 /* コメント2 */ */  // ❌ エラーになる

やってみよう

練習1: これまでのプログラムにコメントを付けてみてください。

練習2: 以下のコードを読んで、何をしているか理解してから、コメントを付けてみてください。

#include <iostream>

int main() {
    int x = 5;
    int y = 3;
    int sum = x + y;
    int product = x * y;
    
    std::cout << "和: " << sum << std::endl;
    std::cout << "積: " << product << std::endl;
    
    return 0;
}
コメント付き解答例
#include <iostream>

int main() {
    // 2つの整数を定義
    int x = 5;
    int y = 3;
    
    // 和と積を計算
    int sum = x + y;
    int product = x * y;
    
    // 結果を表示
    std::cout << "和: " << sum << std::endl;
    std::cout << "積: " << product << std::endl;
    
    return 0;
}

まとめ

  • コメントはプログラムに説明を付ける機能
  • // で1行、/* */ で複数行コメント
  • 複雑な処理に付ける。わかりやすいコードには不要
  • コメントが古くなっていないか常に注意