E3代理,E3代理稍后讲解,我们要知道E3是干什么用的要先知道一个C库函数的作用.
3.E3代理内部,以及C库函数作用
C库函数,atexit 注册函数回调,main函数结尾的时候进行收尾动作(也就是释放资源的动作...E3代理含义:
明白其上面的 atexit函数的原理,那么现在看看其E3内部的实现
?...= Getobj(); 定义t的同时,接受Getobj返回的对象,则会产生拷贝构造
t = Getobj(): 定义完obj然后使用t接受Getobj()则会产生临时对象.不产生拷贝构造
以上都是...当Delete的时候会传入1, 这个是按位来的, 如果最低位为1,则是代表释放内存,那么就调用析构并且释放,如果为0,则仅仅代表了调用析构....加上类域则可以调用构造了,那么析构我们是显示调用,所以看看汇编代码,会传入0,不会释放内存的.
?