[英]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.