如何给vector中的结构体成员赋值
时间: 2023-12-09 16:36:32 浏览: 167
vector DBC文件转换为C结构体
要给一个 vector 中的结构体成员赋值,可以通过索引或迭代器访问 vector 的元素,并使用点操作符或成员访问运算符来访问结构体的成员,并为其赋值。以下是几种常见的方法:
1. 使用索引赋值:
```cpp
struct Person {
string name;
int age;
};
vector<Person> persons(3); // 创建一个包含 3 个 Person 结构体的 vector
persons[0].name = "John"; // 为第一个结构体的 name 成员赋值
persons[0].age = 30; // 为第一个结构体的 age 成员赋值
persons[1].name = "Alice"; // 为第二个结构体的 name 成员赋值
persons[1].age = 25; // 为第二个结构体的 age 成员赋值
// 以此类推...
// 遍历 vector 并打印每个结构体的成员
for (const auto& person : persons) {
cout << "Name: " << person.name << ", Age: " << person.age << endl;
}
```
2. 使用迭代器赋值:
```cpp
vector<Person> persons; // 创建一个空的 Person 结构体的 vector
Person p1;
p1.name = "John";
p1.age = 30;
persons.push_back(p1); // 将结构体添加到 vector 中
Person p2;
p2.name = "Alice";
p2.age = 25;
persons.push_back(p2); // 将结构体添加到 vector 中
// 以此类推...
// 使用迭代器遍历 vector 并打印每个结构体的成员
for (auto it = persons.begin(); it != persons.end(); ++it) {
cout << "Name: " << it->name << ", Age: " << it->age << endl;
}
```
无论是使用索引还是迭代器,都可以通过点操作符或成员访问运算符来访问结构体的成员,并为其赋值。请根据具体情况选择适合的方法。
阅读全文