首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

【C++】STL 模拟实现之 vector

2、扩容机制 vector 的扩容机制和 string 的扩容机制是一样的,因为它们都是动态增长的数组:VS 下大概是 1.5 被扩容,Linux g++ 下是标准的二倍扩容,测试用例如下: void...6、修改 – 迭代器失效 vector 提供了如下接口来进行修改操作: assign && push_back && pop_back assign 函数用来替换 vector 对象中的数据,支持 n...以后我们如果要在中间插入或删除元素的话,必须配合算法库里面的 find 函数来使用: 同时,在 VS 下,insert 和 erase 之后会导致 pos 迭代器失效,如果需要再次使用,需要更新 pos,如下: 不过,在 Linux...做了一些基本的介绍,知道了 STL 由原始版本主要发展出了 PJ、RW 和 SGI 版本,其中,微软的 VS 系列使用的就是 PJ 版,但是由于其命名风格的原因,我们阅读源码时一般选择 SGI 版,而且 Linux...中的迭代器是一个类,当我们进行 insert 或者 erase 操作之后,iterator 中的某个函数可能会将 pos 置为空或者其他操作,导致再次访问 pos 报错,除非我们每次使用后都更新 pos: 而 Linux

45000
领券