C++的emplace函数是用来在容器中构造新对象的函数,与insert函数不同的是,emplace函数直接在容器内部构造对象,而不是先在外部构造对象再插入容器。
正确使用emplace函数的步骤如下:
例如,如果要往一个vector容器中插入一个自定义的对象,可以这样使用emplace函数:
#include <iostream>
#include <vector>
class MyObject {
public:
MyObject(int val) : value(val) {}
int getValue() const { return value; }
private:
int value;
};
int main() {
std::vector<MyObject> vec;
// 使用emplace函数插入新对象
vec.emplace_back(10);
// 打印容器中的对象值
for (const auto& obj : vec) {
std::cout << obj.getValue() << std::endl;
}
return 0;
}
在上面的示例中,通过调用vec.emplace_back(10)
函数将一个MyObject对象插入到vector容器中,然后通过遍历容器中的对象,打印出对象的值。