我正在学习C ++向量,发现一个问题。如果向量已初始化,请尽量不要使用 push_back 或 emplace_back ,因为这样会多余的多余空间。 以下代码:
#include <cassert>
#include <vector>
int main()
{
std::vector<int> data = {1,2,3,4,5};//initialize with std::initializer_list<int>
assert(data.size() == data.capacity());//ok
data.emplace_back(10);//sample append
assert(data.size() == data.capacity());//runtime error
}