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

文字列操作は「C言語最大の欠点」か?」記事へのコメント

  • 次はメモリ管理へ (スコア:3, すばらしい洞察)

    malloc したら free しなきゃいけないのが C 言語最大(!?)の欠点だ!
    という評論が載りそうな気がします。

    #バッファーオーバーフローが気になるなら gets じゃなくて fgets を使えばいいような?

    • by Anonymous Coward

      なら標準ライブラリにgetsが存在したりif (n = 1) {}がコンパイルできたりしてしまうこと自体が欠点。
      回避策があればそれだけでいいってもんじゃないだろ。

      • getsはともかく、代入が式なのは決して悪くない。
        assert(a = malloc(...)); みたいな使い方はそこそこ便利だ。

        一応、そこでミスらない方法として if(1 == n) と書く習慣をつければ間違って if(1 = n) と書いたときコンパイラがエラー出してくれるってのがあるらしいが、どうせ if(n == m) では使えないテクなのでおすすめしない。

        --
        1を聞いて0を知れ!
        • by Anonymous Coward on 2010年10月23日 9時59分 (#1846098)
          assertの中にメモリ割り当てを書く馬鹿が現れることを防ぐような言語仕様になっていないことが最大の欠点ですね、わかります。
          親コメント

ハッカーとクラッカーの違い。大してないと思います -- あるアレゲ

処理中...