emplace_back例程
时间: 2023-10-14 17:20:25 浏览: 83
emplace_back() 是 C++ STL 中 vector 容器的一个成员函数,用于在 vector 的末尾添加一个元素,而不是像 push_back() 那样先创建一个元素,再将其插入到容器中。emplace_back() 函数直接在 vector 的内存空间中构造一个元素,效率更高。下面是一个 emplace_back() 的例程:
```c++
#include <iostream>
#include <vector>
class MyClass {
public:
MyClass(int x, int y): x_(x), y_(y) {}
void print() const {
std::cout << "x = " << x_ << ", y = " << y_ << std::endl;
}
private:
int x_;
int y_;
};
int main() {
std::vector<MyClass> vec;
// 添加元素
vec.emplace_back(1, 2);
vec.emplace_back(3, 4);
vec.emplace_back(5, 6);
// 输出元素
for (const auto& elem : vec) {
elem.print();
}
return 0;
}
```
上述例程中,我们定义了一个包含两个整型成员变量的 MyClass 类。然后,我们创建了一个 vector 容器,用于存储 MyClass 类型的对象。接下来,我们使用 emplace_back() 函数向 vector 中添加了三个 MyClass 类型的对象。最后,我们使用 for 循环遍历 vector 容器中的元素,并调用 MyClass 类的 print() 函数输出每个元素的值。
阅读全文