タグ

Objective-Cに関するthe_redのブックマーク (1)

  • null/nil の扱いをオブジェクト指向的に考え直す | Moonmile Solutions Blog

    Objective-C で nil のメソッドを実行すると例外が発生しないのは変…ではないよ、というのを解説。 ■そもそもの NULL の意味 C++ も Objective-C も C言語を発端としているので、「NULL」≒「値が無い状態」というのを継承しています。 御存じの通り、C言語では、NULL というのは(void*)0 あるいは 0 として定義されています。定義されているのですが、これが NULL という意味を示しているかどうかは別なのです…が、「現実主義的な」C言語としては、NULL = 0 のほうが都合が良かったわけですよ。 基は NULL はポインタとして扱うので、0 ポインタ自体を「有効」にできないという矛盾があります。かつて、8bit 時代の CPU ではメモリが貴重だったので、0 ポインタを「無効」にするとはなんということかッ!!! という話ががあったとかなかった

  • 1