flat7th

memo/20120619

created 2012-06-19 modified 2012-07-27 

えっ? 無名の共用体って、C++の仕様になったの?
昔はMicrosoftの独自拡張だったと思うんだけど?

リンク備考
PCL(Point Cloud Library)のチュートリアルページで、無名共用体が出てきてあれ?っと思って調べたら...
共用体Wikipedia。なんか仕様になったっぽい
私の昔の日記まぁ、無名の共用体って、継承と近いのよね。C++によるオブジェクト指向実現手法のメモリ配置解釈として。
無名共用体Borland C および C++

なんだよ誰か教えてくれよう。(お前が調べろって?はい。)


でも、そしたらますます「多重継承って要らない」じゃんね。


... うーむ。




C/C++では、構造体とか共用体とかって、メンバーへのアクセスは結局インデックスレジスタ ベースレジスタ を使ったアドレッシングみたいなもんだ、っていう感覚を理解できると1つ「ストン」と腑に落ちるわけですよね。
C++のクラスもその延長なんだっていうことがわかるとまた「ストン」と腑に落ちるわけです。

Javaもしかり。大昔のJavaだと、複数の階層の深いメンバにアクセスする場合は事前にローカルオブジェクト(ポインタ)に代入すると速くなったりしたんですよね(遠い目)。


そこが、perl、javascript、その他たぶんrubyもpythonも…の、連想配列でのクラス実装と大きく違うとこなんですが、
まぁその話はまた。