
STL
文章平均质量分 69
DoronLee
软件工程,图像处理,机器学习,人工智能
展开
-
c++中为什么不提倡使用vector<bool>(转)
vector< bool> 并不是一个STL容器,不是一个STL容器,不是一个STL容器!首先vector< bool> 并不是一个通常意义上的vector容器,这个源自于历史遗留问题。 早在C++98的时候,就有vector< bool>这个类型了,但是因为当时为了考虑到节省空间的想法。转载 2017-11-06 21:29:37 · 4336 阅读 · 1 评论 -
条款18:避免使用vector<bool>(转)
做为一个STL容器,vector< bool>确实只有两个问题。第一,它不是一个STL容器。第二,它并不容纳bool。除此以外,就没有什么要反对的了。一个东西不能成为STL容器只因为会有人会说它是。一个东西要成为STL容器就必须满足所有在C++标准23.1节中列出的容器必要条件。在这些要求中有这样一条:如果c是一个T类型对象的容器,且c支持operator[],那么以下代码必须能够编译:T *p =转载 2017-11-06 21:47:26 · 1056 阅读 · 0 评论 -
C++ STL容器介绍:Vector
vector的内存分配【理解】 vector,简单地讲就是一个动态数组,里面有一个指针指向一片连续的内存空间,当空间不够装下数据时会自动申请另一片更大的空间,然后把原有数据拷贝过去,接着释放原来的那片空间。【使用】 实际上vector是一个模板类,放在vector头文件中,使用前包含头文件#include < vector>,使用时声明:vector < classname> var_name;原创 2017-11-01 23:08:36 · 401 阅读 · 0 评论