1.实例化对象时候会动态申请空间以存储该对象。对于数据类型(数据类型有基本数据类型,自定义数据类型,及对于他们的迭代类型(指针,数组))来说,类型也被存储(也许编译时候就分配到代码区一部分空间),对于自定义的类来说,空间中存放static变量(函数定义目前不知道是否在这部分空间)等。下面代码验证:
#include <iostream>
using namespace std;
class A
{
public:
int i;
static int j;
static int k;
static void func1() {}
void func() {}
};
int A::j = 0;
int A::k = 0;
typedef void (*FUNC)();
int main()
{
A a;
cout << sizeof(a) << endl;
cout << sizeof(A) << endl;
cout << &a << endl;
cout << &a.i << endl;
cout << &A::func << endl;
cout << &A::i << endl;
cout << &A::j << endl;
cout << &A::k << endl;