This question already has answers here:
push_back vs emplace_back
(7个答案)
已关闭8年。
我想知道两者之间有什么区别。我注意到emplace是c++ 11的加法。那么为什么要加法呢?
(7个答案)
已关闭8年。
我想知道两者之间有什么区别。我注意到emplace是c++ 11的加法。那么为什么要加法呢?
最佳答案
Emplace接受在适当位置构造对象所必需的参数,而insert接受(引用)一个对象。
struct Foo
{
Foo(int n, double x);
};
std::vector<Foo> v;
v.emplace(someIterator, 42, 3.1416);
v.insert(someIterator, Foo(42, 3.1416));
关于c++ - C++ std::vector放置vs插入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14788261/
10-11 00:22