随笔分类 -  STL

摘要:1.说说std::vector的底层(存储)机制。 vector就是一个动态数组,里面有一个指针指向一片连续的内存空间,当空间不够装下数据时,会自动申请另一片更大的空间(一般是增加当前容量的50%或100%),然后把原来的数据拷贝过去,接着释放原来的那片空间;当释放或者删除里面的数据时,其存储空间不 阅读全文
posted @ 2022-02-20 22:40 bkyqzs 阅读(61) 评论(0) 推荐(0) 编辑
摘要:3、对于关联容器式(如map, set,multimap,multiset),删除当前的iterator,仅仅会使当前的iterator失效举例如下:void mapTest(){ map<int, string> dataMap; for (int i = 0; i < 10; i++) { st 阅读全文
posted @ 2022-02-12 11:11 bkyqzs 阅读(559) 评论(0) 推荐(0) 编辑
摘要:2、对于链表型数据结构,比如list,使用了不连续分配的内存,删除运算使指向删除位置的迭代器失效,但是不会失效其他迭代器。解决办法有两种:与vector类似,erase(*iter)会返回下一个有效迭代器的值,或者erase(iter++)。 阅读全文
posted @ 2022-02-12 11:01 bkyqzs 阅读(39) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示