#include iostreamusing namespace std;using stdcout;class Dogpublic void show protectedprivate int value = 66; int ptr; static int sta;;int main Dog wc; cout sizeofwc endl; return 0;详细解释输出为什么是16
输出为16的原因是因为类Dog的成员变量中包含一个int类型的变量value和一个指针类型的变量ptr,而指针类型的变量在32位系统中占4个字节(32位),在64位系统中占8个字节(64位)。另外,类中还有一个静态成员变量sta,静态成员变量不计算在类的对象的内存大小中。
因此,类Dog的对象的大小为value所占的4个字节(32位系统)或者8个字节(64位系统)加上ptr所占的4个字节(32位系统)或者8个字节(64位系统),即16个字节。
原文地址: https://www.cveoy.top/t/topic/iFrS 著作权归作者所有。请勿转载和采集!