Effective STL 读书笔记条款11-20_IT界的雷锋_百度空间

条款11:理解自定义分配器的正确用法
条款

条款12:对STL容器线程安全性的期待现实一些
你能从实现里确定的:

多个读取者是安全的。
多个容器多个写入者是安全的。
线程安全需要手工处理,简单的方法是使用Lock对象


条款13:尽量使用vector和string来代替动态分配的数组
避免string引用计数导致多线程环境性能问题:关闭引用计数;vector<char>代替;自己开发string

条款14:使用reserve来避免不必要的重新分配
reserve来从一个string中修整多余容量一般不如使用“交换技巧
条款

条款15:小心string实现的多样性

条款16:vector,string与API
vector v容器作为char* 参数:用&v[0]而不是v.begin(),要么用&*v.begin(),并且先检查empty();begin()返回iterator不是指针
string v 作char* 参数,v.c_str();不用检查empty();
size_t fillArray(double *pArray, size_t arraySize);
vector<double> vd(maxNumDoubles);// 建立一个vector,大小是maxNumDoubles
vd.resize(fillArray(&vd[0], vd.size())); {zh1}一个0呢

条款17:使用“交换技巧”来修整过剩容量
vector<T>(c).swap(c);

条款18:避免使用vector<bool>
它不是一个容器(伪容器),存放的不是bool.
deque内部内存不是连续的
代替vector<bool>: deque<bool>容器 bitset(没有迭代器,不能改变大小)

条款19:了解相等和等价的区别
== !a<b&&!b<a 模板函数与关联容器成员函数

条款20:为指针的关联容器指定比较类型,编写foreach处理函数
直接比较指针地址,处理指针没有意义,



郑重声明:资讯 【Effective STL 读书笔记条款11-20_IT界的雷锋_百度空间】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——