网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
12月13日
漏签
0
天
c++吧
关注:
588,247
贴子:
2,104,488
看贴
图片
吧主推荐
游戏
13
回复贴,共
1
页
<<返回c++吧
>0< 加载中...
vector 内存问题
只看楼主
收藏
回复
卡布奇诺tira
,
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
int main()
{
vector<int> obs;
obs.push_back(2);
while (1)
{
obs.push_back(2);
obs.erase(obs.begin());
}
想通过vector实现一个队列的功能,这样会导致内存泄露的问题吗,erase的空间能释放吗
心之刃
->*
15
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
放心用
科詹一家亲
&&
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
vector的内存泄漏其实值得是run time的时候内存无法收回。
你可以把他看做一个数组,离开了自己的作用域内存是自动释放的。
如果在大工程里一定要释放内存可以用swap。
q68257962
,
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
正常访问不会泄露,要想确认释放空间需要离开作用域,至少也得obs.swap(vector<int>())一下,否则容器并没有约定erase会释放空间。
mookuuo
==
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
有开 有关就行了啊
大黑鬼ww
|
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
stl里面直接不就有队列嘛,只是个容器,要是自己自带的类模版函数组合起来用都会有问题,那还搞毛线啊。
jcj228675
||
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
不会。只要程序能正常结束。不过如果需要删除开头元素,最好用list,用vector效率有问题。
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示