类中成员定义顺序在内存中排列
我们知道int一般是4字节,char是1个字节。哪么将这两个类型写到类中定义一个新类型,在内存中又会是占几个字节呢?有人可能会认为就是简单算术加,其时并非这样。写段类定义代码来测试验证类中成员在内存中如何排列。
如果大家有细心看上面的代码,会发现,还有一个问题?就是类中定义了一个set()成员函数,但用sizeof关键字计算字节长度并没明将set()函数占的计算在内?这里要讲的是成员函数实际上并不属于对象,它只是一种“特殊的全局函数”。编译器具体怎么编译实现成员函数,C++标准中没有规定这点。但以后要记住一点的是“类对象占内存大小是指成员变量,不含成员函数”,就可以了。