0

如果我在另一个结构中有一个向量,我如何启动或获取 struct1 中的元素的值

typedef struct_1 { 
      unsigned v1;
      unsigned v2;
      int v3;
    }struct1;

typedef struct_2{
      int v4;
      unsigned v5;
      vector <struct1> s1;
   } struct2;

假设要获得 v4、v5 我可以这样做:

struct2 *p = new struct2(); 
p->v4;
p->v5;

如何访问 v1 和 v2?

4

2 回答 2

0

您可以通过以下方式访问会员:

p->s1.at(index).v1;
p->s1.at(index).v2;
p->s1.at(index).v3;  

由于最初这是空的,at因此将引发异常。或者,您可以使用operator[],但如果索引无效,您会遇到未定义的行为。

于 2012-12-06T18:51:36.500 回答
0

您首先需要将一些元素“添加”到 s1 向量中,因为通过struct2指向 的对象ps1向量被初始化为空。

于 2012-12-06T18:52:50.113 回答