编程基础 笔记
evanmaozi
这个作者很懒,什么都没留下…
展开
-
三五大内存分区
在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的存储区。里面的变量通常是局部变量、函数参数等。 自上而下分配;堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回原创 2010-05-14 20:07:00 · 355 阅读 · 0 评论 -
问题整理
1.在什么情况下析构函数必须是虚函数 若类中有虚函数,这个类的析构函数应该是虚的析构函数,否则会有错,假设父类为a,子类为b, 当 a* p = new b();要析构p指向的对象时,若a中的析构函数不是virtual则调用 delete p 时,不会调用b的析构函数(构造函数调用 是先基类baseClass后继承类),这样在b中分配的资源就无法释放了。你可以在a和b的析构函数中输原创 2010-05-14 20:57:00 · 187 阅读 · 0 评论