好き勝手に・げーあにん?

ファミコンと同い年の社会人ヌルオタの日記

今どき C/C++ を選ぶ人は変人

「今どき 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 はインスタンスごとに 子の事を知らないといけないから‥‥で、いいんですよね?