我有一個類,我已經聲明列表數組作爲數據成員。動態初始化和使用C++ STL列表數組
list <int> **listOfNodes;
我已經在類的構造函數分配空間的指針列表如下(這裏「V」是否定的。名單我想,傳遞給構造函數作爲參數。)
listOfNodes=new list<int>* [v];
for (int i = 0; i < v; ++i)
{
list<int> temp;
listOfNodes[i]=&temp; //declaring a new list and making the list pointer point to it
}
現在我在函數內部有下面的代碼,用於從用戶處獲取輸入並將其添加到相應的列表中。例如,如果用戶輸入2 5,我需要將新條目5 push_back到索引爲2的列表中,即listOfNodes [2]指向的列表。
int u,v;
cin>>u>>v;
(*(listOfNodes[u])).push_back(v);
但是,不知何故,我的代碼崩潰執行。 有人可以指出我可能做錯了什麼。
問題在於,您正在使用指向'std :: list'的指針指針。我建議使用'std :: vector'(s)來代替。 –
juanchopanza
2013-05-05 10:24:00