如果我在另一个结构中有一个向量,我如何在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?
答案 0 :(得分:0)
您可以通过以下方式访问该成员:
p->s1.at(index).v1;
p->s1.at(index).v2;
p->s1.at(index).v3;
由于最初这是空的,at
将抛出异常。或者,您可以使用operator[]
,但如果索引无效,则会遇到未定义的行为。
答案 1 :(得分:0)
首先需要将一些元素“添加”到s1向量中,就像struct2
指向p
对象一样,s1
向量初始化为空。