From: cruby47@... Date: 2007-12-27T02:46:36+09:00 Subject: [ruby-list:44392] typedef unsigned long VALUE; に関して --0-449757053-1198691189=:30602 Content-Type: text/plain; charset=iso-2022-jp お世話になっております。 現在、RHGを読みながらrubyの実装に関して勉強しております。 第2章「オブジェクト」の中に以下のような記述があります。 -- 以下抜粋 -- 話したとおりVALUEはunsigned longである。 VALUEはポインタなのだから void*でもよさそうなものだが、 そうなっていないのには理由がある。実はVALUEは ポインタ でないこともあるのだ。 ---- 私の理解不足の為、上記理由のみからではなぜVALUEが void型のポインタでは駄目なのか理解できませんでした。 typedef void *VALUE; と定義しても、 FIX2INT(INT2FIX(-10)) 等は期待した結果(-10)を返してくれると思うのですが。 何か、重要な理由がありVALUEはvoid型のポインタとしては 定義されていないと思うのですが、自分で考えていてもなかなか 思いつかないので、そこの所を教えて頂けないでしょうか。 宣しくお願い致します。 --------------------------------- Easy + Joy + Powerful = Yahoo! Bookmarks x Toolbar --0-449757053-1198691189=:30602--