#10 C++で学ぶコメント規約の基本

C++のコメントには、他の言語と共通する書き方に加え、Doxygenという広く使われる説明書き生成ツールとの連携があります。この記事では、C++におけるコメントの書き方と、良いコメントの残し方を解説します。

コメントの書き方

// これは年齢を表す変数
int age = 20;

複数行のコメントは/* */を使います。

/*
 * ここから先は入力チェックの処理
 * 空文字や不正な形式を除外する
 */

Doxygenという仕組み

C++のプロジェクトでは、Doxygenという外部ツールと連携した、特別な形式のコメントがよく使われます。

/**
 * @brief 利用者に挨拶を表示する
 * @param name 利用者の名前
 * @return なし
 */
void greet(std::string name) {
    std::cout << "こんにちは、" << name << "さん" << std::endl;
}

@briefや@paramといったタグを使うことで、Doxygenがこれらの情報を読み取り、Webページ形式の説明書きを自動生成してくれます。@briefで概要、@paramで引数の説明、@returnで戻り値の説明を書くのが基本の構成です。

TODOコメントで作業を残す

後で対応する必要がある箇所には、// TODO: 説明という形式でコメントを残す習慣が広く使われています。多くのエディタはTODOコメントを一覧表示してくれるため、実装途中の箇所を見失いにくくなります。

何を書くべきか

コードを読めば分かる内容をそのまま書くのではなく、なぜその実装を選んだのか、どんな制約があるのかを書くことが大切です。特にC++はメモリを直接扱う場面が多いため、「このポインタの所有権は誰にあるか」「いつ解放されるか」といった情報をコメントで補うと、後から読む人の助けになります。

条件付きコンパイルによる無効化

コードを一時的に無効化したい場合、コメントで囲む代わりに#if 0と#endifで囲む方法もあります。

#if 0
古い実装(参考用に残している)
#endif

この方法なら、内部に/* */を含むコードでもコメントの入れ子によるエラーを気にせず無効化できます。

C++ならではの注意点

Doxygenの記法は、Javaのjavadocと似ていますが、C++の標準機能ではなく外部ツールの慣習である点に注意しましょう。プロジェクトによって採用しているツールやタグの書き方が異なることがあるため、参加するプロジェクトの慣習を確認するとよいでしょう。

まとめ

C++のコメントは//が基本で、大規模なプロジェクトではDoxygen形式のコメントがよく使われます。TODOコメントの活用や、プロジェクトごとの慣習を確認する習慣をつけましょう。


本ページはプロモーションを含みます。

参考書籍(PR)

C++をもっと学びたい方には「新・明解C++入門編」がおすすめです。


PR

コードを書かずに自動化したい方へ

「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。

コメント

このブログの人気の投稿

#25 Rustで学ぶAI API(ChatGPT等)の呼び出し方の基本

#8 C++で学ぶ文字列操作の基本

#16 TypeScriptで学ぶ辞書型(マップ)の基本