受到另一个关于java脚本语言的问题的启发.可以表达
(a==1)&&(a==2)&&(a==3)
Run Code Online (Sandbox Code Playgroud)
在C++中评估为true?(如果是的话,它真的有用吗?)
当我用c ++做sizeof时,我一定会得到"整个对象"吗?我问,因为我要使用memcpy将对象复制到其他内存区域(从一开始可能是一个愚蠢的想法,对吧?).
我担心的是,我可能无法获得整个对象,但只有属于该类的部分现在才能获得.它有意义还是我感到困惑?
编辑示例
class A{ public: int a = 123; };
class B: public A{ public: int b = 321; };
class C : public B{ public: int c = 333; };
C c_ = C();
B b_ = C();
A a_ = C();
std::cout << sizeof(a_) << " , " << sizeof(b_) << " , " << sizeof(c_) << std::endl;
Run Code Online (Sandbox Code Playgroud)
似乎给了我4,8,12.
我想我需要做动态转换来弄清楚如何获得我在每种情况下构建为"C"类的"整体"对象?