码迷,mamicode.com
首页 >  
搜索关键字:effective stl    ( 8046个结果
STL在迭代的过程中,删除指定的元素
直接上Code,上Pic #include #include using namespace std; // STL在迭代的过程中,删除指定的元素 int main() { list listTest; listTest.push_back(-1); listTest.push_back(-1); listTest.push_back(-1); listTest.push_b...
分类:其他好文   时间:2014-06-22 22:31:07    阅读次数:280
容器set相关算法
?? set_union 算法set_union可构造S1、S2的并集。此集合内含S1或S2内的每一个元素。S1、S2及其并集都是以排序区间表示。返回值是一个迭代器,指向输出区间的尾端。 由于S1和S2内的每个元素都不需唯一,因此,如果某个值在S1出现n次,在S2出现m次,那么该值再输出区间中会出现max(m,n)次,其中n个来自S1,其余来自S2。在STL se...
分类:其他好文   时间:2014-06-22 22:22:27    阅读次数:240
copy算法
copy------强化效率无所不用其极 copy(first,last,result)算法可将输入区间[first,last)内的元素复制到输出区间[result,result+(last-first))内。也就是说,它会执行赋值操作*result =*first,*(result+1) =*(first+1), …一次类推。返回一个迭代器:result+(last-...
分类:其他好文   时间:2014-06-22 22:00:36    阅读次数:196
Effective C++:条款23:宁以non-member、non-friend替换member函数
(一) 有个class来表示网页浏览器: class WebBrowser { public: void clearChache(); void clearHistory(); void removeCookies(); }; 许多用户会想一整个执行所有这些动作,因此WebBrowser也提供这样一个函数:clearEverything class ...
分类:编程语言   时间:2014-06-22 21:46:40    阅读次数:147
C++中临时对象的产生与运用
?? 所谓临时对象就是一种无名对象。它的出现如果不在程序员的预期之下(例如任何pass by value操作都会引发copy操作,于是形成一个临时对象),往往照成效率上的负担。但有时候可以制造一些临时对象,却又使程序干净清爽的技巧。刻意制造临时对象的方法是,在型别名称之后直接加一对小括号,并可指定初值,例如int(8),其意义相当于调用相应的constructor,且不指定对象名称。STL最...
分类:编程语言   时间:2014-06-22 21:01:55    阅读次数:209
STL之sort函数的使用方法
STL封装了一个排序算法,该算法对应的头文件为#include,我们可以根据需要对一个数组进行排序或者降序。...
分类:其他好文   时间:2014-06-22 19:52:07    阅读次数:193
STL之vector容器的实现框架
实现vector容器的思路等同于实现一个动态数组,下面我们参照源码的相关资料,给出一个vector容器的大致框架,只有声明,没给出具体的实现。...
分类:其他好文   时间:2014-06-22 19:46:40    阅读次数:128
函数调用操作符(operator())
?? 许多STL算法都需要用户指定某个条件或某个策略,而条件或策略的背后由一整组操作构成,便需要某种特殊的东西来代表这“一整组操作”。 代表“一整组操作”的,当然是函数。过去C语言时代,欲将函数当做参数传递,唯有通过函数指针才能达成。但是函数指针有缺点,最重要的是它无法持有自己的状态(所谓局部状态),也无法达到组件技术中的可适配性(adaptablity)-----也就是无法再将某些修...
分类:其他好文   时间:2014-06-22 16:22:21    阅读次数:349
Effective C++:条款22:将成员变量声明为private
(一)为什么不采用public成员变量 (1)首先,从语法一致性考虑,客户唯一能访问对象的方法就是通过成员函数,客户不必考虑是否该记住使用小括号()。 (2)其次,使用函数可以让我们对成员变量的处理有更精确的控制。如果我们令成员变量为public,那么每个人都可以读写它! 但如果我们以函数取得或设定其值,我们就可以实现出“不准访问”、“只读访问”以及“读写访问”,我们甚至可以实现“惟写访...
分类:编程语言   时间:2014-06-21 22:13:56    阅读次数:232
前闭后开区间表示法
?? 任何一个STL算法,都需要获得由一对迭代器(泛型指针)所标识的区间,用以表示操作范围。这一对迭代器所标示的是个所谓的前闭后开区间,以[first,last)表示。也就是说,整个实际范围从first开始,知道last-1。迭代器last所指的是“最后一个元素的下一位置”。这种偏移一格的标示法,带来了许多方便,例如下面两个STL算法的循环设计,就显得干净利落: template ...
分类:其他好文   时间:2014-06-21 21:20:27    阅读次数:293
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!