1. 构造函数和析构函数 对象的初始化和清理是两个非常重要的安全问题,一个对象或者变量没有初始化时,对其使用的后果是未知的,同样使用完一个变量,没有及时清理,也会造成一定的安全问题,c++提供了这种问题完整的解决方案,即构造函数和析构函数,这两个函数也会被编译器自动调用,完成对象的初始化和对象清理工 ...
分类:
编程语言 时间:
2019-03-11 13:28:01
阅读次数:
140
1.new和delete new的内部执行顺序: [1]调用operator new函数,该函数里面调用malloc申请内存。 [2]调用类的构造函数。 delete的内部执行顺序: [1]调用类的析构函数。 [2]调用operator delete函数,该函数里面调用free释放内存。 opera ...
分类:
编程语言 时间:
2019-03-08 16:59:19
阅读次数:
156
一、迭代器(Iterator)通过持有迭代状态可以获取当前迭代元素并且识别下一个需要迭代的元素,从而可以遍历集合中每一个元素而不用了解集合的具体实现方式; 实现迭代器功能的方法被称为迭代器方法,迭代器方法的返回值类型可以是以下4种接口类型中任意一种:位于命名空间System.Collections中 ...
一、继承中的构造析构调用原则 1.子类对象在创建时会首先调用父类的构造函数 2.父类构造函数执行结束后,执行子类构造函数 3.当父类构造函数有参数时,需要在子类的初始化列表中显示调用; 4.析构函数调用的先后顺序与构造函数相反 二、继承与组合混搭时,构造与析构的调用原则 1.先析构父类,再构造成员变 ...
分类:
编程语言 时间:
2019-02-23 10:42:43
阅读次数:
215
auto_ptr包含于头文件 #include<memory> 其中<vector><string>这些库中也存有。auto_ptr 能够方便的管理单个堆内存对象,在你不用的时候自动帮你释放内存。 auto_ptr的设计目的: 局部对象获取的资源(内存),当函数退出时,它们的析构函数被调用,从而自动 ...
分类:
其他好文 时间:
2019-02-22 23:27:32
阅读次数:
266
1:每个析构函数只会清理自己的成员(成员函数前没有virtual)。2:可能是基类的指针指向派生类的对象,当析构一个指向派生类的成员的基类指针,这时程序不知道这么办,可能会造成内存的泄露,因此此时基类的析构函数要定义为虚函数;基类指针可以指向派生类的对象(多态),如果删除该指针delete[]p,就 ...
分类:
编程语言 时间:
2019-02-19 13:36:04
阅读次数:
147
搬运某大佬的文章,只为以后方便查看 https://www.cnblogs.com/puyangsky/p/5319470.html 一、定义1. 作用:对象消亡时,自动被调用,用来释放对象占用的空间2.特点: (1) 名字与类名相同 (2) 在前面需要加上"~" (3) 无参数,无返回值 (4) ...
分类:
编程语言 时间:
2019-02-17 22:09:28
阅读次数:
227
l 基本语法 class 类名{ public function __destruct(){ //函数体 //析构函数的最重要的作用,就是释放对象创建的资源 //比如 数据库连接, 文件句柄, 绘图句柄.. } } 说明 (1) 析构函数都是public (2) __destruct 是关键字,不要 ...
分类:
Web程序 时间:
2019-02-14 16:41:35
阅读次数:
161
C++虚析构函数 析构函数是用来释放对象所申请的资源的函数。 当类内没有自定义的析构函数时,系统会自动调用默认的析构函数。 那么析构函数能否为虚函数呢? 虚函数的意义在于实现“多态性”。即:不同的个体(派生类),实行(运行)不同的方法或策略。这样说来,析构函数本就可以是“虚”的。 那么,虚的析构函数 ...
分类:
编程语言 时间:
2019-02-13 21:18:40
阅读次数:
218
1. __doc__ 表示类的描述信息 2. __module__ 和 __class__ __module__ 表示当前操作的对象在那个模块 __class__ 表示当前操作的对象的类是什么 3. __init__ 构造方法,通过类创建对象时,自动触发执行。 4. __del__ 析构方法,当对象 ...
分类:
编程语言 时间:
2019-02-12 21:33:07
阅读次数:
166