资源:动态分配的内存、文件描述器、互斥锁、图形界面中的字型与笔刷、数据库连接以及网络sockets等,无论哪一种资源,重要的是,当你不再使用它时,必须将它还给系统。条款13:以对象管理资源当我们向系统申请资源后,一定要记得释放,不然就容易发生内存泄漏。但是意识到这样一件事并不是很容易,比如我们是通过...
分类:
编程语言 时间:
2014-05-26 23:23:05
阅读次数:
328
代码1[cpp]view
plaincopy#include#includeclassA{public:A(){printf("A()/n");}~A(){printf("~A()/n");}A(constA&other){printf("other/n");}};intmain(){Aa;Ab(....
分类:
其他好文 时间:
2014-05-26 22:18:50
阅读次数:
382
作者:flyinghearts出处:http://www.cnblogs.com/flyinghearts/又一次看到讨论“洗牌”算法的文章,奇怪不少人喜欢造轮子,但造的轮子却远没有STL的random_shuffle好用。
若某个序列里面的每个元素在每个位置已经等概率出现,那么新增加一个元素,只....
分类:
其他好文 时间:
2014-05-26 22:14:15
阅读次数:
354
The concept of STL is based on a separation of
data and operations. The data is managed by container classes, and the
operations are defined by config...
分类:
其他好文 时间:
2014-05-26 09:43:55
阅读次数:
288
第1章
容器第1条:慎重选择容器类型。标准STL序列容器:vector、string、deque和list。标准STL关联容器:set、multiset、map和multimap。非标准序列容器slist和rope。slist是一个单向链表,rope本质上是一“重型”string。非标准的关联容器h...
分类:
编程语言 时间:
2014-05-26 08:14:34
阅读次数:
384
定义:将一个class的接口转换为另一个class的接口,使原本因接口不兼容而不能合作的classes,可以一起运作。适配器扮演者轴承、转换器的角色。
分类:
1、容器适配器:改变容器接口。
STL提供两个容器迭代器:queue和stack。它们都是修饰deque后成为另一种风貌的容器。
2、迭代器适配器:改变迭代器接口。
Insert Iterator:将容器绑...
分类:
其他好文 时间:
2014-05-23 01:58:23
阅读次数:
360
本文主要介绍如何使用静态工厂方法已经在那种场合来使用这种方式代替构造方法。
众所周知,对于类而言,我们为了获得一个类的实例对象,通常情况下会提供一个公有的(public) 的构造器。当然除了这种方法以外,我们还可以通过给类提供一个public的静态工厂方法(static factory method)的方式来完成,让它返回一个类的实例。...
分类:
编程语言 时间:
2014-05-23 01:03:20
阅读次数:
317
条款05:了解C++默默编写并调用哪些函数
默认构造函数、拷贝构造函数、拷贝赋值函数、析构函数构成了一个类的脊梁,只有良好的处理这些函数的定义才能保证类的设计良好性。
当我们没有人为的定义上面的几个函数时,编译器会给我们构造默认的。
当成员变量里有const对象或引用类型时,编译器会不能合成默认的拷贝赋值函数;当一个基类把它的拷贝赋值函数定义为private时,它的派生类也不无生...
分类:
编程语言 时间:
2014-05-22 17:05:38
阅读次数:
341