Advertisement

二维vector去掉前面的行列

阅读量:

二维vector删除前n行和前n列:

提示:此处简要说明项目所涉及的背景信息:

问题描述

例如:最初进行尝试的是调用 algorithm库中提供的 erase函数。

复制代码
    //使用erase函数
    for (int i = 0; i < deleteNum; i++)
    {
    	dataList[i].erase(dataList[i].begin(),dataList[i].end());
    }
    
    
      
      
      
      
      
    

提示:这里描述项目中遇到的问题:在利用erase函数对二维vector中的某一行进行删除操作时需格外注意:尽管相关元素已被移除,但其占用的内存空间并未被释放。
例如,对于一个二维vector dataList[2][2],其内部存储的数据为[[1,2],[3,4]]。若希望删除第一行数据,通过调用erase方法完成操作后,dataList[0]所指向的位置依然保留在内存中。虽然此时调用dataList[0].size()会返回0,表明该行已无数据内容,但若查看dataList.size()的结果仍为2,这说明dataList[0]并未因为空而被系统回收。当然,这种内存保留机制也具有一定的优势,

全部评论 (0)

还没有任何评论哟~