1. C++中的内存分布?2. 在成员函数中调用delete this会出现什么问题呢?对象还可以使用吗?3. 如果在类的析构函数调用delete this会出现什么问题?4. 类对象的内存大小手那些因素影响?1. 包括堆、栈、全局/静态变量区、常量区、代码区;在执行函数的时候,函数内部变量的存储单元可以在栈上创建,函数执行结束时这些存储单元自动释放。堆区是由用户采用new创建并使用delete释放,需要人为手动释放,如果忘记,可能会造成内存泄漏;全局/静态变量区一般存储全局的变量和由static声明的变量;常量区指的是不可以更改的变量;代码区存放程序的二进制代码;2. 在类对象的内存空间中,只有数据成员和虚函数表指针,并不包含代码内容,类的成员函数单独放在代码段中。调用了delete this指针后,会将类对象的内存空间释放;后续只要不要涉及到this指针的内容,都能够正常运行;3. 会导致堆栈溢出;因为会反复调用本对象的析构函数,导致无限循环;4. 类的非静态成员变量大小;内存对齐另外分配的空间大小;拥有虚函数的话,会在类对象中插入vptr指针;如果该类是派生类的话,会继承基类部分的数据成员;