C++ 如何访问指向对象的指针数组中的特定索引?
上面的代码按预期返回“3”,并计算为第一个索引。但是如何使用成员选择操作符访问第二个索引?我可以这样做:C++ 如何访问指向对象的指针数组中的特定索引?,c++,pointers,C++,Pointers,上面的代码按预期返回“3”,并计算为第一个索引。但是如何使用成员选择操作符访问第二个索引?我可以这样做:(*(ptr+1)).a=5 但是代码并不清晰。ptr是指向a对象数组的指针。您可以将[]索引运算符直接应用于指针,以访问数组中的特定对象,例如: A*ptr=新的A[3]; ... ptr[index].a=3; ... 删除[]ptr; pointer[index](甚至index[pointer])与*(pointer+index)听起来你可以使用一个指针。哦,谢谢,我想知道我以前怎么
(*(ptr+1)).a=5
但是代码并不清晰。
ptr
是指向a
对象数组的指针。您可以将[]
索引运算符直接应用于指针,以访问数组中的特定对象,例如:
A*ptr=新的A[3];
...
ptr[index].a=3;
...
删除[]ptr;
pointer[index]
(甚至index[pointer]
)与*(pointer+index)
听起来你可以使用一个指针。哦,谢谢,我想知道我以前怎么没有尝试过这种方法。我想我的问题现在看起来很傻xD
struct A
{
int a;
};
int main()
{
A* ptr = new A[3];
ptr->a = 3;
return ptr->a;
}