emplace函数
时间: 2023-09-20 12:12:06 浏览: 23
Excel中的REPLACE函数.pdf
emplace函数是C++11中引入的一个函数,可以用于在容器中就地构造元素。与传统的emplace_back不同,emplace函数不需要先构造一个临时对象,然后再将其移动或拷贝到容器中,而是直接在容器中构造对象。这可以避免临时对象的构造和拷贝,提高程序执行效率。
例如,对于一个vector<int>,可以使用emplace_back函数将元素插入到末尾:
```c++
std::vector<int> v;
v.emplace_back(1);
v.emplace_back(2);
v.emplace_back(3);
```
而使用emplace函数则可以直接在vector中构造元素:
```c++
std::vector<std::pair<int, std::string>> v;
v.emplace(1, "one");
v.emplace(2, "two");
v.emplace(3, "three");
```
这样可以避免不必要的构造和拷贝操作,提高程序执行效率。
阅读全文