如何调整 STL 列表指针的大小

How to resize a STL list pointer

如果我将 STL 列表声明为

list<int> mylist;  

然后只需使用 mylist.resize()
即可轻松调整大小 但问题是我已经将列表指针声明为

list<int> *mylistptr=new list<int>[n];

现在我想改变mylistpr的大小。由于它是一个指针,因此编译器在使用 resize() 时会抛出错误。可以选择使用 malloc() 为 mylistptr 分配内存,然后使用 realloc() 调整它的大小。但是,如果我不想使用 malloc() 和 realloc() 怎么办。还有别的办法吗????

谢谢

可以简单地通过以下方式完成

std::vector<std::list<int>> myLists( n );

//...

myLists.resize( new_n );