C++では、二種類の方法でコメント(注釈)を書くことができます。
- /* から始まり、*/ で終わるブロックコメント
- // から始まり、行末で終わる行コメント
の二つです。具体的な例を見てみましょう。
0 1 2 3 4 5 6 7 |
#include <iostream> /* これはコメントです */ int main() { // これもコメントです。 std::cout << "hello, world!" << std::endl; } |
上の例のように、通常、コメントは日本語で書くことができます。しかし、処理系によっては、日本語でコメントを書く場合に少し注意が必要になります。海外製のコンパイラでシフトJISに対応していないものの場合は要注意です。例えば、
0 1 2 3 4 5 6 7 |
int main() { static const int table[256]; // 変換表 func(table); ... } |
のように、行コメントの最後の文字が 0x5c で終わる場合(”表”のシフトJISコードは 0x955c です)、次の行が連結されますので、func(table); の行も一緒にコメントとして扱われてしまいます。すなわち、
0 1 2 3 4 5 6 7 8 9 |
int main() { static const int table[256]; // 変換表 func(table); ... } |
上のコードの黄色地の部分はコメントになってしまうわけです。これは、行末に逆斜線 があると、コメントを処理するよりも前に次の行が連結されることに原因があります。海外製のコンパイラを使う場合には、事前に必ず実験しておくことをお勧めします。