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

How to resize a STL list pointer

本文关键字:指针 列表 STL 何调整 调整      更新时间:2023-10-16

如果我将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 );