我需要使用列表int[2]
。我嘗試使用STL中的列表,但在嘗試訪問列表時收到奇怪的結果。在C++中使用<int*>列表
我保存的[-1,+1]
所有不同組合在列表中,但是當我試圖讓他們中的一個,它總是(1,1)
。
這裏是我的代碼:
#include <iostream>
#include <list>
using namespace std;
int main (void){
list<int*> test;
int x=0,y=0,i,j,k,l;
int *pin=new int[2];
for (k = x-1; k <= x+1; k++) {
for (l = y-1; l <= y+1; l++) {
pin[0] = k;
pin[1] = l;
cout<<"inserting into list: "<<k<<" "<<l<<endl;
test.push_back(pin);
}
}
while(!test.empty()){
pin=test.back();
std::cout<<"List contains: "<<pin[0]<<" "<<pin[1]<<std::endl;
test.pop_back();
}
}
爲什麼不用int來代替int [2]?這樣你不必擔心再次刪除數組。 – 2012-03-11 11:35:55