首页 > 解决方案 > 使用指针访问 struct c++ 向量中的元素

问题描述

嗨,我是 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

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

标签: c++pointersvectorstruct

解决方案


您需要先取消引用它:

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

或者

(*ptr)[0].age;

住在神螺栓上。


推荐阅读