Joh*_*ohn 2 c++ size class sizeof
根据标题.我真的不想列出它包含的所有其他成员但是我很惊讶地发现,只有非静态数据成员才是enum,2 int和指向自己类型的指针sizeof应该是20.
它没有虚函数,我测量了指针,enum每个都有4个字节.其他会员我应该更加努力吗?
从文件读回时,我需要此信息为其类型的n个对象分配缓冲区.
平台:bada,环境:Win 7 x64中的gcc和Eclipse.
enum blockParams {enum1, enum2, /**/};
class Block : public Object {
public:
int begin;
protected:
Block() : begin(-1), end(UNCLOSEDBLOCK) {}
//Last index
int end;
private:
blockParams1 params;
const Block *parentBlock;
//Lots and lots (~80) member functions and static data members.
}
Run Code Online (Sandbox Code Playgroud)
编译器可以自由地在成员之间引入填充以实现各种对齐要求.
许多编译器提供了一种不可移植的方式来更紧密地打包结构(例如GCC __attribute ((packed))),但很少有理由使用它.