记住: 为防止资源泄漏,请使用RAII对象,它们在构造函数中获得资源并在析构函数中释放资源。 两个常被使用的RAII类分别是tr1::shared_ptr和auto_ptr。前者通常是较佳选择,因为其copy行为比较直观。若选择auto_ptr,复制动作会使它(被复制物)指向null。 使用auto ...
分类:
编程语言 时间:
2018-06-18 13:29:41
阅读次数:
169
插入新的节点: 是否包含有键值为key的节点: 查找: 前序遍历: 中序遍历: 后序遍历: 析构函数: 层序遍历: 最小键值: 最大键值: 删除最小节点: 删除最大节点: 删除任意节点: ...
分类:
其他好文 时间:
2018-06-17 17:58:22
阅读次数:
195
c 继承与派生 继承 一个类可以派生自多个类或接口,这意味着它可以从多个基类或接口继承数据和函数。 + protected标识的变量只用于继承给派生类使用 基类的初始化 派生类不能在成员初始化列表中直接初始化基类的成员 + 派生类继承了基类的成员变量和成员方法。因此父类对象应在子类对象创建之前被创建 ...
__construct:构造函数,一旦创建对象都就会自动调用 __call:当调用了未定义的方法时会自动触发 __set:当给类外部不可访问的属性设置值时会自动触发 __get:当获取类外部不可访问的属性时会自动触发 __isset:当对类外部不可访问的属性使用了isset()或empty()时会自 ...
分类:
Web程序 时间:
2018-06-13 15:21:31
阅读次数:
204
1 类的多态 不同的类对同一操作可以有不同的行为。 比如自行车和汽车都有移动这个成员函数行为, 那么自行车类可以移动,行为和汽车的移动行为肯定不同。 2 析构函数不能有参数 3 __set和__get 用于设置类中的属性和获取类的属性值 是魔术方法 4 私有的方法和属性不会被继承 public方法是 ...
分类:
Web程序 时间:
2018-06-13 15:20:27
阅读次数:
198
虚函数作用:动态绑定,实现多态效果。 场景问题: 派生类中有资源需要回收,而在编程中采用多态,由基类的指针指向派生类,则在释放的时候,如果基类的析构函数不是virtual,则派生类的析构函数得不到释放 总结: C++中基类采用virtual虚析构函数是为了防止内存泄漏。具体地说,如果派生类中申请了内 ...
分类:
其他好文 时间:
2018-06-11 11:02:46
阅读次数:
199
记住:带多态性质的基类应该声明一个virtual析构函数。如果class带有任何virtual函数,它就应该拥有一个virtual析构函数。class的设计目的如果不是作为基类使用,或不是为了具备多态性,就不该声明virtual析构函数。 解决这个问题,只需要 virtual函数的目的是允许deri ...
分类:
编程语言 时间:
2018-06-10 22:09:33
阅读次数:
257
记住:如果没有声明任何构造函数,编译器会声明一个默认构造函数。如果自己没有声明,编译器会声明一个拷贝构造函数,一个赋值操作符和一个析构函数。 不能。对于内含引用成员的类,必须自己定义赋值操作符。 更改const成员是不合法的。另外,如果父类将copy assignment操作符声明为private, ...
分类:
编程语言 时间:
2018-06-09 23:19:39
阅读次数:
221
一、装饰器 装饰器可以使函数执行前和执行后分别执行其他的附加功能,这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator),装饰器的功能非常强大。装饰器一般接受一个函数对象作为参数,以对其进行增强 说白了:就相当于C++中的构造函数,与析构函数 装饰器本身是一个函数,用于装饰其他 ...
分类:
编程语言 时间:
2018-06-09 16:43:25
阅读次数:
219
exit_manager离开作用域,所有的回调函数,单例的析构函数将会被调用。 再看看头文件 使用方法很简单,只要在main函数最开始的地方,定义一个即可 ...
分类:
其他好文 时间:
2018-06-09 13:16:57
阅读次数:
241