摘要:
1、程序结束后,程序(实际上是指进程)占用的内存全部释放,不管是栈上的内存还是堆上的内存,包括泄漏的内存,全部释放。因为进程都不在了,OS会把进程的所有资源回收。2、因此,所谓的内存泄漏只是存在于程序运行过程中。3、内存泄漏:在程序运行过程中,对于一块确定不再使用的内存,没有人工delete,才会造成内存泄漏。4、假设一块内存,在程序的整个运行过程中都要使用,这种情况下这块内存是不能释放的,否则会引起未定义行为。必须等到程序结束后,OS来回收内存。5、假设指针指向一块申请的内存A,然后再指向一块申请的内存B,对于内存A,以后永远不会在使用,没有对内存A进行delete,造成内存泄漏。OS不会释 阅读全文
posted @ 2013-10-30 20:02
Andy Niu
阅读(242)
评论(0)
推荐(0)
摘要:
1、 Widget w1; //调用Default构造方法 Widget w2(w1); //调用copy构造方法 w1 = w2; //调用copy赋值操作符 Widget w3 = w2; //调用copy构造方法2、 对于Widget w3 = w2; 是调用copy构造方法,为什么? 因为定义一个对象的时候,肯定要调用构造方法。因此,对于Widget w3(w2) 和Widget w3 = w2表达的意思一样,都是以W2为蓝本,copy构造对象W3。3、方法调用做了两件事:a、用实参初始化形参;b、控制权交给被调方法。 被调方法的执行,以形参的定义和初始... 阅读全文
posted @ 2013-10-30 19:42
Andy Niu
阅读(265)
评论(0)
推荐(0)