Cpp 对象模型探索 / 编译器为对象创建缺省析构函数的条件
生活随笔
收集整理的這篇文章主要介紹了
Cpp 对象模型探索 / 编译器为对象创建缺省析构函数的条件
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、基類中含有析構(gòu)函數(shù)的子類,編譯器為子類創(chuàng)建析構(gòu)函數(shù)。
2、類成員變量是類對(duì)象,該類對(duì)象含有析構(gòu)函數(shù),則編譯器為子類創(chuàng)建析構(gòu)函數(shù)。
代碼
class Parent { public:~Parent() {} };class Son : public Parent { };int main() {Son sn;return 0; }分析
使用 dumpbin /all 指令,打開(kāi) obj 文件,搜索“Son::~Son”,可以得到如下內(nèi)容:
說(shuō)明編譯器為 Son 類創(chuàng)建了析構(gòu)函數(shù)。
代碼
class Son1 { public:~Son1() {} };class Son2 {Son1 sn1; };int main() {Son2 sn2;return 0; }分析
使用 dumpbin /all 指令,打開(kāi) obj 文件,搜索“Son::~Son”,可以得到如下內(nèi)容:
說(shuō)明編譯器為 Son 類創(chuàng)建了析構(gòu)函數(shù)。
?
(SAW:Game Over!)
總結(jié)
以上是生活随笔為你收集整理的Cpp 对象模型探索 / 编译器为对象创建缺省析构函数的条件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Cpp 对象模型探索 / 虚继承带虚函数
- 下一篇: Cpp 对象模型探索 / 静态局部对象只