コメント - cppreference.com
提供: cppreference.com
コメントはある種のコード内ドキュメントとしての機能を持ちます。 プログラム内に挿入されたとき、それらは実質的にコンパイラによって無視されます。 それらはソースコードを読む人間によって注釈として使用されることだけが意図されています。 コメントの具体的な内容は C++ 標準の一部ではありませんが、様々な形式でコメントを解析するユーティリティがいくつか存在します。
構文
/* comment */
|
(1) | ||||||||
// comment
|
(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スタイルのコメントは 複数行に渡って書くことができます。 */ /* もちろん1行だけでもOK! */ /************** * いくつでも * を書けますが、 * ネストしたコメントは書けません。 */ // C++スタイルのコメントは1行だけです。 // もちろんこういうふうに // 複数行使うことはできます。 int main() { // コメントはプリプロセッサの前に削除されます。 // そのため以下の ABC は「1//2134」ではなく「1」であり、 // 「1 hello world」と表示されます。 #define ABC 1//2134 std::cout << ABC << " hello world\n"; // 以下のコードは実行されません。 // return 1; // 以下のコードは実行されます。 return 0; }
出力: