首先打开VS2022,找到工具->命令->开发者命令提示。
然后用cd进入到存放了.cpp的文件目录。
cl /d1 reportSingleClassLayout类名 源文件名
查看类C的内存分布。
cl /d1 reportSingleClassLayoutC main.cpp
#include<iostream>
using namespace std;
class A
{
public:
A(int data) :ma(data) { cout << "A()" << endl; }
~A() {}
protected:
int ma;
};
class B:virtual public A
{
public:
B(int data) :mb(data),A(data) { cout << "B()" << endl; }
~B() {}
protected:
int mb;
};
class C:virtual public B,virtual public A
{
public:
C(int data) :A(data),B(data),mc(data) { cout << "C()" << endl; }
~C() {}
protected:
int mc;
};
int main()
{
C c(10);
return 0;
}
直接就可以看到C类有哪些成员变量了,以及它们的内存分布情况。