关于C ++的Linkin List

时间:2012-05-22 04:00:41

标签: c++ linked-list

我创建了一个列表并将一些值放入其中。我的列表将其内容复制到一个数组中,然后打印出来。我的问题是,如何删除我创建的列表?

这是我的代码:

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
    }
}

1 个答案:

答案 0 :(得分:0)

试图暗示你的意思,我猜你希望在外循环的每次迭代之后,名为'list'的列表清除其内容。 list.clear()将执行此操作,将list的声明移动到外部循环中。析构函数将正确释放您分配的任何资源,并且每次迭代都会有一个新的实例。