vector插入元素的代码
vector<string> c;
char buf[10];
for(int i = 0; i < 10000; i++) {
try {
sprintf(buf, %d, rand());
c.push_back(string(buf));
} catch(exception& p) {
cout << "i:" << i << << p.what() << endl;
abort();
}
}
当vector内存不够用时,vector内存大小会成倍增长,且内存块的位置会发生变化,这个时候可能会出现std::bad_alloc的异常错误,代码中使用了try...catch的语句。
vector只有push_back函数,没有push_front函数,如果向前面插入一个元素,其他元素都要通过拷贝构造函数向后移动。
vector的函数有哪些:
vector.size() //该容器中有多少个元素
vector.front() //返回该容器第一个元素的引用
vector.back() //返回该容器最后一个元素的引用
vector.data() //返回该容器第一个元素的指针
vector.capacity() //返回该容器的容量大小
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。