C++中emplace函数应用实例

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

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 AliceDestructing AliceConstructing BobDestructing Bob

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

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号