名前空間
変種
操作

コメント

From cppreference.com
< cpp
 
 
C++言語
全般
プリプロセッサ
コメント
フロー制御
条件実行文
if
繰り返し文 (ループ)
for
範囲for (C++11)
ジャンプ文
関数
関数宣言
ラムダ式
inline指定子
動的例外仕様 (C++17まで*)
noexcept指定子 (C++11)
例外
名前空間
指定子
const/volatile
decltype (C++11)
auto (C++11)
constexpr (C++11)
consteval (C++20)
constinit (C++20)
記憶域期間指定子
初期化
代替表現
リテラル
ブーリアン - 整数 - 浮動小数点数
文字 - 文字列 - nullptr (C++11)
ユーザー定義 (C++11)
ユーティリティ
属性 (C++11)
typedef宣言
型エイリアス宣言 (C++11)
キャスト
メモリ確保
クラス
クラス固有の関数プロパティ
explicit (C++11)
static

特殊メンバ関数
テンプレート
その他
 
 

コメントは、コード内ドキュメントの一種として機能します。プログラムに挿入されたコメントは、コンパイラによって事実上無視されます。コメントは、ソースコードを読む人間が注釈として使用することのみを意図しています。特定のドキュメント形式はC++標準の一部ではありませんが、さまざまなドキュメント形式のコメントを解釈するユーティリティがいくつか存在します。

目次

[編集] 構文

/* コメント */ (1)
// コメント (2)
1) しばしば「C形式」または「複数行」コメントとして知られています。
2) しばしば「C++形式」または「単一行」コメントとして知られています。

すべてのコメントは、翻訳フェーズ3で、各コメントが1つの空白文字に置き換えられることによってプログラムから削除されます。

[編集] C形式

C形式のコメントは通常、大きなテキストブロックをコメントアウトするために使用されますが、単一行のコメントにも使用できます。C形式のコメントを挿入するには、テキストを /**/ で囲むだけです。これにより、コメントの内容はコンパイラによって無視されます。C++標準の一部ではありませんが、/***/ はドキュメントブロックを示すためによく使用されます。2つ目のアスタリスクは単にコメントの一部として扱われるため、これは合法です。C形式のコメントはネストできません。

[編集] C++形式

C++形式のコメントは通常、単一行をコメントアウトするために使用されますが、複数のC++形式のコメントを並べて複数行のコメントを形成することもできます。C++形式のコメントは、// と改行の間のすべての内容を無視するようにコンパイラに指示します。

[編集] 注意

コメントはプリプロセッサステージの前に削除されるため、マクロを使用してコメントを形成することはできず、閉じられていないC形式のコメントが#includeされたファイルからあふれ出すこともありません。

コメントアウトの他に、ソースコードを除外するために使用される他のメカニズムは次のとおりです。

#if 0
    std::cout << "this will not be executed or even compiled\n";
#endif

および

if (false)
{
    std::cout << "this will not be executed\n";
}

[編集]

#include <iostream>
 
/* C-style comments can contain
multiple lines */
/* or just one */
 
/**************
 *  you can insert any *, but
 *  you can't make comments nested
 */
 
// C++-style comments can comment one line
 
// or, they can
// be strung together
 
int main()
{
    // comments are removed before preprocessing,
    // so ABC is "1", not "1//2134", and "1 hello world"
    // will be printed
#define ABC 1//2134
    std::cout << ABC << " hello world\n";
 
    // The below code won't be run
    // return 1;
 
    // The below code will be run
    return 0;
}

出力

1 hello world

[編集] 関連項目

English 日本語 中文(简体) 中文(繁體)