摘要: 迭代器的分类 在STL中,原生指针也是一种迭代器,除了原生指针以外,迭代器被分为五类: Input Iterator 此迭代器不允许修改所指的对象,即是只读的。支持==、!=、++、*、->等操作。 Output Iterator 允许算法在这种迭代器所形成的区间上进行只写操作。支持++、*等操作。 阅读全文
posted @ 2017-03-07 17:02 任智康 阅读(1493) 评论(0) 推荐(0) 编辑
摘要: 侯捷老师在《STL源码剖析》中说到:了解traits编程技术,就像获得“芝麻开门”的口诀一样,从此得以一窥STL源码的奥秘。如此一说,其重要性就不言而喻了。 之前已经介绍过迭代器,知道了不同的数据结构都有自己专属的迭代器,不同的迭代器也有不同的特性,由于算法的接口是统一的,通过迭代器的不同属性,算法 阅读全文
posted @ 2017-03-07 15:51 任智康 阅读(757) 评论(0) 推荐(0) 编辑
摘要: C++0x中加入了右值引用,和move函数。右值引用出现之前我们只能用const引用来关联临时对象(右值)(造孽的VS可以用非const引用关联临时对象,请忽略VS),所以我们不能修临时对象的内容,右值引用的出现就让我们可以取得临时对象的控制权,终于可以修改临时对象了!而且书上说配合move函数,可 阅读全文
posted @ 2017-03-07 11:21 任智康 阅读(737) 评论(0) 推荐(0) 编辑
摘要: 线程函数为静态函数: 线程控制函数和是不是静态函数没关系,静态函数是在构造中分配的地址空间,只有在析构时才释放也就是全局的东西,不管线程是否运行,静态函数的地址是不变的,并不在线程堆栈中static只是起了一个装饰的作用,所以二者并没有必然的关系 线程也是一种资源,是受系统调度的。因此,你必须要让系 阅读全文
posted @ 2017-03-07 09:57 任智康 阅读(20569) 评论(1) 推荐(5) 编辑