『iOS 4プログラミングブック』 第5章マルチスレッド 補遺 その2 2011年1月27日発売でも、すでに書店に並びつつある『iOS 4プログラミングブック』。 今回も引き続き第5章マルチスレッドの補遺として、「__block修飾子」を深追いしてみます。 その1で書いたとおり、__block変数の実態は「total.__forwarding->total」て感じです。Block生成直後はstackに居るので、この__forwardingポインタは自分が含まれる構造体を示し、Block_copyでstackからheapに移動されると(189ページ参照)、__forwardingポインタが移動後のアドレスを示すわけですね。「total.__forwarding->total」は、stackにあるか、heapにあるか、気にせずにアクセスできるわけです。 確かめてみましょう! #import <