C++的std::vector使用优化
本文是ChernoP47视频的学习笔记。
std::vector是这样工作的:创建一个vector然后开始push_back元素,也就是向数组中添加元素。如果vector的容量不够大,不能容纳我们想要的新元素,vector需要分配新的内存,当前vector的内容从内存中的旧位置复制到内存中的新位置,然后删除旧位置的内存。
这就是将代码拖慢的原因,因为我们需要不断地重新分配并复制所有现有的元素。所以我们的优化思路就是如何避免复制对象,如果我们处理的是基于vector的对而没有存储vector指针。
#include<iostream>
#include<string>