c++中vector的内存问题,求教各位大神。

我想用一个vector存放int型数据,在.h中声明如下:public:vector<int>writedChannel;inta;intb;voidfunc(strin... 我想用一个vector存放int型数据,在.h中声明如下:

public:
vector<int>writedChannel;
int a;

int b;
void func(string);

现在发现在.cpp中,第一次push_back一个数,会改变a的值,变成一个很大的数(几百万),第二次push_back,又会改变b的值……然后再push_back,vector自身的size也会变得很大,应该是出现了内存泄露的问题。
现在想问各位大神,我只是对vector进行了几次push_back,为什么它会干扰到其他的变量,是不是需要进行某些初始化之类的操作?谢谢
展开
 我来答
ssgo66
2012-12-18 · TA获得超过143个赞
知道小有建树答主
回答量:229
采纳率:0%
帮助的人:128万
展开全部
不会对其他变量进行干扰,vector载容器达到一定大小后会重新分配更大的预留空间,同时把数据复制过去,把之前的内存释放。
追问
我也知道vector原则上是应该这样的,但是它在我的程序中pushback时确确实实影响到了其他的变量,现在直接改用list了,谢谢你
百度网友26ad406
2012-12-18 · TA获得超过1611个赞
知道大有可为答主
回答量:1506
采纳率:100%
帮助的人:1084万
展开全部
应该不会出现这种情况吧 你把a,b都初始化一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lhuajing
2012-12-19 · TA获得超过164个赞
知道答主
回答量:115
采纳率:28%
帮助的人:32.4万
展开全部
内存溢出导致别的变量改变
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式