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