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,为什么它会干扰到其他的变量,是不是需要进行某些初始化之类的操作?谢谢 展开
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,为什么它会干扰到其他的变量,是不是需要进行某些初始化之类的操作?谢谢 展开
3个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询