如何从指向 C 中向量的指针访问向量的内容?

新手上路,请多包涵

我有一个指向向量的指针。现在,如何通过指针读取向量的内容?

原文由 Pavan Dittakavi 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 638
2 个回答

有很多解决方案,这里有一些我想出的:

 int main(int nArgs, char ** vArgs)
{
    vector<int> *v = new vector<int>(10);
    v->at(2); //Retrieve using pointer to member
    v->operator[](2); //Retrieve using pointer to operator member
    v->size(); //Retrieve size
    vector<int> &vr = *v; //Create a reference
    vr[2]; //Normal access through reference
    delete &vr; //Delete the reference. You could do the same with
                //a pointer (but not both!)
}

原文由 Seb Holzapfel 发布,翻译遵循 CC BY-SA 3.0 许可协议

vector <int> numbers {10,20,30,40};
vector <int> *ptr {nullptr};

ptr = &numbers;

for(auto num: *ptr){
 cout << num << endl;
}

cout << (*ptr).at(2) << endl; // 20

cout << "-------" << endl;

cout << ptr -> at(2) << endl; // 20

原文由 kutukmu 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题