码迷,mamicode.com
首页 >  
搜索关键字:effective stl    ( 8046个结果
STL之Map的运用
Map是c++的一个标准容器,她提供了非常好一对一的关系,在一些程序中建立一个map能够起到事半功倍的效果,总结了一些map基本简单有用的操作!1. map最主要的构造函数; mapmapstring; mapmapint; mapmapstring; mapmapchar; map...
分类:其他好文   时间:2014-07-16 21:44:42    阅读次数:112
如何选择STL容器中对象的删除方法
备注:唯一从容器中除去一个元素的方法是在那个容器上调用一个成员函数。 以下介绍删除不同类型的容器中满足某种条件的值的方法,某种条件指的是bool badValue(int value)返回true的情况。1、序列容器for(SeqContainer::iterator i = c.begin();....
分类:其他好文   时间:2014-07-16 20:25:12    阅读次数:150
Effective C++ Item 38 通过复合塑模出 has-a 或 is-implemented-in-terms-of
经验:在应用域,复合意味着 has-a。 在实现域,复合意味着 is-implemented-in-terms-of 示例: template //将list应用于 Set。错误做法 class Set: public std::list {...}; 解析: public 继承表示 is-a,即如果D是一种B,对B为真的每一件事,对D也应该为真。但list可以包含相同的元素,而Set不可以 纠正: template class Set{ publi...
分类:编程语言   时间:2014-07-12 23:02:43    阅读次数:369
Effective C++ Item 37 绝不重新定义继承而来的缺省参数值
经验:绝对不要重新而来的缺省参数值,因为缺省参数值都是静态绑定,而 virtual 函数 -- 你唯一应该覆写的东西 -- 却是动态绑定 示例: class Shape{ public: enum ShapeColor {Red, Green, Blue}; virtual void draw(ShapeColor color = Red) const = 0; }; class Rectangle: public Shape{ public: virtual void draw(ShapeColor...
分类:编程语言   时间:2014-07-12 21:22:15    阅读次数:278
Effective C++ Item 36 绝不重新定义继承而来的 non-virtual 函数
经验:绝对不要重新定义继承而来的 non-virtual 函数 --> Item 7 "为多态基类声明 virtual 析构函数" 是本条款的特例 示例: class B{ public: void mf(); //... }; class D: public B{ public: void mf(); // 遮掩了B::mf,Item 33 名称遮掩规则 } D x; B *pB = &x; D *pD = &x; pB->mf(); // 调用 B::mf pD->mf(); // 调用 ...
分类:编程语言   时间:2014-07-12 19:09:10    阅读次数:234
20140711 set
题目大意维护一个可重集,支持:插入一个正整数询问一个正整数k,集合中有多少个数是k的倍数数据范围是40000,时限0.5s暴力肯定不行,想起这道题叫set,今天中午刚刚看了STL set用法,于是用了一个set来做,想着是logn的复杂度,其实还是n,总的就是n^2....................
分类:其他好文   时间:2014-07-12 13:54:36    阅读次数:136
HDU 4287 <map>的使用
对于这道题我主要讲STL,map的应用...
分类:其他好文   时间:2014-07-10 23:02:35    阅读次数:169
C++ STL:vector
下面是一些尝试代码: 1. #include #include #include #include #include #include using namespace std; int main() { int i; vectora[10]; for(i=1; i<=5; i++) { a[1].push_back(i); } a[1].push_back(6)...
分类:编程语言   时间:2014-07-10 21:06:04    阅读次数:257
Effective C++ Item 25 考虑写出一个不抛异常的swap函数
经验:当std::swap对你的类型效率不高时,提供一个swap成员函数,并确定这个函数不抛出异常 示例: stl里的swap算法 namespace std{ template void swap(T &a, T &b){ T temp(a); a = b; b = temp; } } //“pimpl手法”(pointer to implementation) --> 文件间的编译依存度 class WidgetImpl{ public: //... pr...
分类:编程语言   时间:2014-07-10 19:35:50    阅读次数:240
Effective C++ Item 26 尽可能延后变量定义式的出现时间
经验:尽可能延后变量定义式的出现。这样做可增加程序的清晰度并改善程序效率。 示例: //这个函数过早定义变量“encrypted” std::string encryptPassword(const std::string &password){ using namespace std; string encrypted; if(password.length() < MinimumPasswordLength){ throw logic_error("Password is too short"...
分类:编程语言   时间:2014-07-10 19:27:30    阅读次数:253
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!