C++中emplace函数应用实例

avatar
作者
筋斗云
阅读量:0

emplace函数用于在容器中插入元素,并且避免了拷贝操作,直接在容器内构造对象。下面是一个简单的示例,展示了emplace函数的应用:

#include <iostream> #include <vector>  class Person { public:     Person(std::string name, int age) : name(name), age(age) {         std::cout << "Constructing " << name << std::endl;     }      ~Person() {         std::cout << "Destructing " << name << std::endl;     }  private:     std::string name;     int age; };  int main() {     std::vector<Person> people;      // 使用emplace_back函数来插入元素     people.emplace_back("Alice", 25);     people.emplace_back("Bob", 30);      return 0; } 

在上面的示例中,我们定义了一个Person类,包含一个名字和年龄的成员变量。我们创建了一个vector容器people,并使用emplace_back函数来插入两个Person对象。在构造和析构函数中,我们输出了对象的名字,以便查看对象的生命周期。

输出结果应该如下所示:

Constructing Alice Destructing Alice Constructing Bob Destructing Bob 

可以看到,使用emplace函数插入元素时,构造函数被调用来构造对象,而不需要进行拷贝操作,从而提高了效率。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!