-1
我已經創建了一個列表並將一些值加入其中。我的列表將其內容複製到數組中,然後打印。我的問題是,如何刪除我創建的列表?Linkin List on C++
這裏是我的代碼:
void main()
{
std::list<char> list;
while (1)
{
char in=0;
while(1)
{
scanf("%c",&in);
if(in=='\n') break;
list.push_back(in);
}
char* array=new char[list.size()]; // create a dynamic array
list<char> first;
std::copy(list.begin(),list.end(),array); // copy the data
for (int i=0 ; i<list.size() ; i++) printf("%c",array[i]);
printf("\nsize of array is: %d\n", list.size());
delete [] array; // destroy the dynamic array
}
}
'list.clear()'? (如果你想清空這個列表)。否則,你不必刪除你的列表,你沒有在堆上創建它,也沒有指向在堆上分配的數據的指針。 – birryree
您是否正在刪除列表,或刪除列表中的所有內容? – RoneRackal
很難看出你的問題是什麼,你正在釋放你在調用delete時創建的'array',清除你所需要的所有元素的'std :: list' [list.clear()]( http://www.cplusplus.com/reference/stl/list/clear/)。 –