帮我用c++ 快速给vector 加入结构体作为元素
时间: 2023-07-27 19:15:32 浏览: 185
vector 排序
5星 · 资源好评率100%
当我们要使用结构体作为 vector 的元素时,需要先定义结构体类型,然后通过 push_back() 或 emplace_back() 函数将结构体对象添加到 vector 中。下面是一个示例代码:
```c++
#include <iostream>
#include <vector>
using namespace std;
struct Person {
string name;
int age;
};
int main() {
vector<Person> people;
// 添加元素
people.push_back({"Alice", 20});
people.emplace_back("Bob", 30);
// 遍历输出
for (const auto& p : people) {
cout << p.name << " is " << p.age << " years old." << endl;
}
return 0;
}
```
在上面的代码中,我们定义了一个结构体类型 `Person`,然后创建了一个 vector 对象 `people`。我们使用 `push_back()` 和 `emplace_back()` 函数将两个 `Person` 对象添加到 `people` 中。
需要注意的是,`push_back()` 函数会创建一个临时的 `Person` 对象,然后将其拷贝到 vector 中,而 `emplace_back()` 函数会直接在 vector 中创建一个 `Person` 对象。因此,`emplace_back()` 可以比 `push_back()` 更快地添加元素,特别是当结构体比较大或者包含其他复杂类型的成员时。
阅读全文