C++的vector容器清空


  c++內部STL庫中自帶了一個容器vetcor, 自帶了清空方法——clear()。但是clear使用之后,並不能清空數據,其數據再未被覆蓋之前是不會改變的,個人猜測clear僅僅把指針挪動到了起始位置,所以需要清空置值的話,就需要配合上resize方法,resize重分配之后是可以直接 [ ] 訪問的。

   reszie有被重載過一次,有兩種實現方式:

    1、void resize(std::size_t __new_size, int __x);

    2、void resize(std::size_t __new_size);

  多出來的x是想初始化后生成的數,(其實個人感覺gcc里的函數聲明的原型應該是這樣的 void resize(std::size_t __new_size, int __x = 0); 默x為0)

當然,也可以用循環的方式進行清空。(目前只能想到這些)

   如果想要清空二維的vetcor,那就得一行行的clear和resize。

學習不易,諸君共勉!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM