c++ 容器的 insert, emplace, erase, clear
需求 cpp 对容器的插入和删除操作 解决 insert & emplace insert 插入时,会先调用构造函数,再调用移动构造函数。 emplace 插入时,只调用构造函数。 emplace 直接在容器的指定位置调用构造函数,省略了移动构造函数,效率会更高一些,推荐使用 emplace. erase erase 一般是需要先获取迭代器,然后再删除。 vector<int>::iterator it; it = myvector.begin(); myvector.erase(it); // finding the position of the element in the vector int valueToBeDeleted = 3; auto it = find(vector.begin(), vector.end(), valueToBeDeleted); if (it != vector.end()) { vector.erase(it); } vector<int>::iterator it1, it2; it1 = myvector.begin(); it2 = myvector.end(); it2--; it2--; myvector.erase(it1, it2); clear 直接清空所有元素 参考 C++ STL vector插入元素(insert()和emplace())详解 vector erase() and clear() in C++