- 無料のCコンパイラで何かつくる意味ってあるのか? - 神様なんて信じない僕らのために
- 変人言語 - みねこあ
- 2008-01-22 - [´・[ェ]・] <もももっもっ
- 常人or変人? - 神様なんて信じない僕らのために
「今どき C/C++ を選ぶ人は変人」には完全に同意だし、「Cは変人じゃなく常人でも扱える言語」という意味なら「Cは常人の言語」にも同意。
つまり、そういうことなんだろうなー、と自己完結。
で、同じ方の別エントリ
とかが、わかってない人が、C++スタイルのキャストをめんどくさいとかいうんだろうなーと。これ知ってても、めんどくさいという人もいそうだけど。‥‥わ、私じゃないですよ?
掲載されているソースのリスペクトで同系統のちょっと違う問題を。
class A { public: A (){} ~A (){} private: int v; }; class B { public: B (){}; virtual ~B (){}; private: int v; }; class C : public A, public B { public: C (){} virtual ~C (){} }; int main() { A a; B b; C c; printf("a:%d\n", sizeof(a)); printf("b:%d\n", sizeof(b)); printf("c:%d\n", sizeof(c)); return 0; }
これとか、未だに混乱しますorz
A のデストラクタが virtual 宣言されていないことに注意してくださいね?
これ、学生の時は知らなくて、社会人になってから知ったんですけどね‥‥この辺がわかって、ようやく C++ がわかった気がした。‥‥気がしただけで、今も良くわかってないことが山ほどあるんだろうけど(どーん)。
B はインスタンスごとに 子の事を知らないといけないから‥‥で、いいんですよね?