- ベストアンサー
全角スペース
全角スペースはコメントにも使用すべきではないのでしょうか。 コード上に入り込んだ場合はコンパイラーがエラーを出してくれると思いますが、これも完全では無いのでしょうか。 例)紛れ込む位置によっては判断しない。 その他、全角スペースの致命的な問題があれば、教えてください。 # 後輩を指導する上で、決定的な理由が言えず困っております。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
>私の経験ではコンパイルエラーとなると思いますが。 文字リテラル以外に全角文字を使えば普通コンパイルエラーになるでしょうが ならない場合もあります。(VisualC++2005では全角スペースによるインデントも可能です。) もちろん他のコンパイラではコンパイルエラーになるので使わない方が良いでしょう。 > 全角スペースはコメントにも使用すべきではないのでしょうか。 自由にしてください。C/C++の規約にコメントに全角スペースを使うなとはありません。 あなたは後輩にコードの中にコメントを含め「全角スペース」を極力使うなと指導したいのでしょうか? それは好みにすぎません。 あえて欠点をいうならエディタによっては、全角スペースがみえづらいということでしょうが、 ただよほど馬鹿なコンパイラでない限り、全角スペースが入っていて問題になる場合コンパイル時に エラーになります。ですから致命的な問題にはなりません。 いまやC/C++のコンパイラ自体、UTF8や、UCS2等のUNICODE に対応しているものも多いですからね。(gccやVC2005) 例えばVisualC 2005なら int あ = 0; あ++; なんて出来てしまいます。(昔は考えられなかったですね。) ただし「全角スペース」の変数名はエラーになります。
その他の回答 (4)
- php504
- ベストアンサー率42% (926/2160)
コメント中に使って問題になったことはありません。 私は全角空白を□で視覚的にわかるように表示させてるので半角空白と見間違えることもないです。
- asuncion
- ベストアンサー率33% (2127/6289)
> 全角スペースはコメントにも使用すべきではないのでしょうか。 そういうことはありません。必要があれば、どんどん使ってください。 > コード上に入り込んだ場合はコンパイラーがエラーを出してくれる 必ずしもそうとは言えません。 文字列リテラルの中に全角空白を書くことは、ごく普通にあります。
補足
早々に回答いただきありがとうございます。 > 文字列リテラルの中に全角空白を書くことは、ごく普通にあります。 文字列リテラル中ではなく for(i=0; i<INT_MAX; i++){・・・} のような部分で、適当なスペースを入れると思いますが、これが全角スペースであった場合などでは問題になることはないのでしょうか。 私の経験ではコンパイルエラーとなると思いますが。
- kizuki135
- ベストアンサー率29% (162/552)
むしろ…半角カタカナや特殊記号、特殊漢字などの、 機種依存文字と言われる文字の使用の方が問題かと…。
- php504
- ベストアンサー率42% (926/2160)
コメントに日本語を許可しているのなら全角スペースだけ仲間はずれにする理由はなさそうに思います。
補足
早々に回答いただきありがとうございます。 /* コメント */ や // コメント として記述する部分に全角スペースを使用して問題となったことはありませんでしょうか。
お礼
早々に回答くださりありがとうございます。 > それは好みにすぎません。 全角スペースで問題になったことを聞いたことがあるという、あいまいな情報だけで、後輩に指導したくなかったので、根拠を探ってみたのですが、いまのところ、根拠は見当たりません。 自由にするようにしたいと思います。