E2函数内部则会调用析构函数,有人会说,为什么不直接将析构注册为函数回调,这样直接调用atexit不就在释放的时候,从后往前依次调用析构的了吗....PS: 注意,局部对象和传参的区别,局部对象会在函数内部进行调用构造,而传参的时候是在函数外面进行的初始化动作
三丶返回值为对象的识别
当返回值为对象的时候,会有两种情况
1.定义的时候产生拷贝动作...接受Getobj()则会产生临时对象.不产生拷贝构造
以上都是C++语言,不熟悉的同学复习一下构造析构以及拷贝构造的内容即可.
1.拷贝动作的时候其返回对象的识别.
...1.调用的时候,当做参数传递给Getobj
3.函数结束之后调用析构
2.函数内部调用构造和析构
(其中2在Getobj里面,看Release版本)
Release下的汇编
?...其内部调用构造和析构
总结:
1.this指针会当做参数传递给函数, Mytest t = Getobj() t会当做参数传递
2.其函数内部开始的时候会调用构造函数,结束之前调用析构
3.