簡體   English   中英

指針向量保存指向整數向量的指針

[英]Vector of pointers saving a pointer to a vector of ints

只是想知道您是否可以指向一個指向整數向量的指針。 並保存指向整數向量的指針。 這是我試圖完成的代碼。 可能沒有意義,但我現在正努力讓它工作一段時間,對我來說是裸露的。 但我想以某種方式拉這種方式。

int n, q;
cin >> n >> q;
vector <int*> ar;

for (int i=0;i<n;i++){
    
    int k;
    cin >> k;

    vector< int >  *vec;

    for(int j = 0;j<k;j++){
        (*(vec+j)).push_back(cin.get());

    }
    ar.push_back(&(vec));


}

感謝您提供可能的幫助。 還沒有看到這里問過這個,只是事情與這個有點不同。

認為這就是您要在這里實現的目標:

int n, q;
cin >> n >> q;
vector<vector<int>*> ar;
for (int i=0;i<n;i++){
    int k;
    cin >> k;
    vector<int> *vec = new vector<int>;
    for(int j = 0;j<k;j++){
        vec->push_back(cin.get());
    }
    ar.push_back(vec);    
}
// do not forget to delete the inner vectors before removing them from ar!

你最終得到的是一個向量ar ,其中包含指向其他向量的指針,而這些向量又包含int s。

我不明白你為什么要在這里存儲指針,嵌套向量工作正常:

int n, q;
cin >> n >> q;
vector<vector<int>> ar;
for (int i=0;i<n;i++){
    int k;
    cin >> k;
    vector<int> vec;
    for(int j = 0;j<k;j++){
        vec.push_back(cin.get());
    }
    ar.push_back(vec);    
}

在 C/C++ 中,您可以指向 litteraly anyting,heck event 指向任何內容或指向自身( void* ),但如果您要制作矩陣,只需使用int a[][]std::vector<std::vector<int>> m

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM