在网上看到这样一道题:
答案是24字节。
做这道题要理解三个知识点:
一、32位和64位操作系统的区别:32位和64位指的是CPU一次处理数据的能力是32位还是64位,这里涉及到的是处理器运算位数。简单的说32位系统的地址总线是32位的,而64位系统的地址总线是64位的,这意味着一个指针所占用的空间是64位即8个字节。
二、sizeof是用来计算栈大小,不涉及全局区,所以类的静态成员大小sizeof不计算。也就是说,类的成员变量中,只考虑a、p、func1、func2。
三、C++类在内存中的空间分配,这也是本文讲述的重点,下面着重阐述。
注意点1:一个类对象的地址就是类所包含的这一片内存空间的首地址,这个首地址对应具体该类某一个成员变量的地址。
首先看下面这段代码:
#include <iostream>
using namespace