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