C++ 如何访问指向对象的指针数组中的特定索引?

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)听起来你可以使用一个指针。哦,谢谢,我想知道我以前怎么

上面的代码按预期返回“3”,并计算为第一个索引。但是如何使用成员选择操作符访问第二个索引?我可以这样做:
(*(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;
}