パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Gtk3さわってる番外 (今はC言語でアンダーバーが怖い)」記事へのコメント

  • とりあえず、grep __[a-zA-Z] /usr/include/* とでもしてやれば、嫌でもわかるだろ。
    そもそもアンダーバーは危険が危い系の話は、ジャップランドのローカルルール。
    C黎明期のム系月刊誌の連中が、「アセンブラに落としこむと全ての関数の頭には__が付く、なので言語側で使うのは危険が危ない」とかいって勝手に決めたローカルルール。
    この時期に作られた間違った常識に、値を返さないmainはvoidにすべきとか、return 0;は必ず付与すべきとか、もはや無かったことにされてるJ国製組み込み用C++処理系等々がある。

    つーか他国の連中と仕事する機会があれば、for (__i

    • そうも言ってられない例として。
      うちの環境(ubuntu)だと、↓のコードのコンパイルが通りません。

      #define __s 0
      #include<stdio.h>
      int main() { printf("Hello, world!\n"); }

      理由は stdio.h 内のプロトタイプ宣言の引数名に __s が使われてるから。
      なんで stdio.h が __s なんて名前を使っているかというと、__s が予約されてるから。

      #define s 0

      なら通る。
      言語仕様上通さなきゃならない。
      だから stdio.h 内のプロトタイプ宣言の引数名に s が使われることはない。

      「予約済み」がどういう意味なのかは理解しておくべき。

      親コメント

UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア

処理中...