STRUCT以及VECTOR的赋值问题

 对于相同的struct类型,他们相互之间可以赋值的,测试代码如下:
#include<iostream>
#include<vector>
#include<string>

using namespace std;

struct  bnln
{
    int a;
    int b;
};

int main()
{
    struct bnln bnln1;
    struct bnln bnln2;
   
    //测试vector
    vector<bnln>  vec1(1);
    vector<bnln>  vec2(1);

    vec1.clear();
    vec2.clear();

    vec1[0].a = 100;
    vec1[0].b = 200;

    vec2[0] = vec1[0];
   
    //测试STRUCT
    bnln1.a = 1;
    bnln1.b = 2;

    bnln2 = bnln1;
    cout<<"bnln2.a = "<<bnln2.a<<"  bnln2.b   "<<bnln2.b<<endl;
    cout<<"vec2[0].a = "<<vec2[0].a<<"  vec2[0].b = "<<vec2[0].b<<endl;
    return 0;
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要给一个 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; } ``` 无论是使用索引还是迭代器,都可以通过点操作符或成员访问运算符来访问结构体的成员,并为其赋值。请根据具体情况选择适合的方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值