我创建了一个列表并将一些值放入其中。我的列表将其内容复制到一个数组中,然后打印出来。我的问题是,如何删除我创建的列表?
这是我的代码:
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
}
}
答案 0 :(得分:0)
试图暗示你的意思,我猜你希望在外循环的每次迭代之后,名为'list'的列表清除其内容。 list.clear()将执行此操作,将list的声明移动到外部循环中。析构函数将正确释放您分配的任何资源,并且每次迭代都会有一个新的实例。