環境はWindows XP(SP3)、Visual C++ .NET 2003、SDKです。
C言語やC++言語の構文について気になったので質問です。
コメントの中にエスケープシーケンスの半角¥マーク「\」を書くことは構文として問題
ありませんでしょうか。
例えば、以下のようなコメントをソースコードに書きたいと思います。
// \の数を数える
Visual C++ .NET 2003では上記のコメントは何もエラーは出ずコンパイルが通りますが、
\の次の文字の「の」の1バイト目がどうなるのか気になります。
また、以下のコメントでもコンパイルできます。
// コメント\r\nコメント
しかし、次のように書くと警告が表示されます。
// コメント\
「warning C4010: 単一行コメント (//) に、行連結文字があります。」
「行連結文字」という構文がほかにあって\r\nや\tは展開されないでしょうか。
知っている方がいらっしゃいましたら教えてください。
> コメントの中にエスケープシーケンスの半角¥マーク「\」を書くことは構文として問
題
> ありませんでしょうか。
全く問題ありません。
「//」は行末までをコメントとして扱うから。
「\」文字をエスケープ文字として解釈しません。
> 「行連結文字」という構文がほかにあって\r\nや\tは展開されないでしょうか。
よって「\r\n」や「\t」も展開されない。
ただし、行末を「\」文字で終わらせると行連結の意味になるため注意すべき。
追記。
/*~*/範囲なら行末に「\」で終わっていてもコメント扱いされるから。
回答ありがとうございます。
コメントの中ではエスケープ文字は認識されず、
単一行コメントの場合は行末の\に注意すれば良いということですね。
全部の\を全角に直さなければならないと思っていたのでほっとしました。