繁体   English   中英

使用指针访问 struct c++ 向量中的元素

[英]Accessing an element in a vector of struct c++ using pointers

嗨,我是 C++ 新手,想询问有关如何使用指针访问向量内的结构元素的问题。 假设我有一个结构:

struct pets{    //struct of pets
string name;
int age;
}

int main() {
pets a = {bolt, 2};
pets b = {crash, 3};

vector<pets> x;
x.push_back(a);
x.push_back(b);
vector<person> *ptr = &x;
???

} 

使用指向向量 x 的指针 ptr 我如何能够访问存储在我的宠物向量中的第一个元素的第一个年龄? 我知道它更容易使用

x[0].age

但我想使用指向结构向量的指针来访问元素成员。 任何人都可以帮忙吗?

您需要先取消引用它:

ptr[0][0].age;
// ^^^ make sure you don't use >0 for the first one

或者

(*ptr)[0].age;

住在Godbolt 上

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM