指针管理总结(一)

1. 有一次修改别人写的代码,经我修改后,老是报 map<>::iterator 释放的错误,我找了好长时间没有找到原因,最后逐步屏蔽自己修改的代码,最后发现自己的一个指针释放有问题,我是在一个类的构造函数里面申请一个内存,然后在析构函数里释放这块内存。 由于他这个类没有定义拷贝构造函数,如果复制对象时会浅复制,会复制里面的指针,而不是去复制内存的数据。他代码里有一个地方却这样使用了他,在一个地方他定义了一个临时对象,他把临时对象的数据拷贝给另外一个对象,这样就会导致一个内存会被释放两次,就这样出了问题。

程序报错却给人一种假象,看到的好像是一个map或vector的迭代器有问题,其实不是,让我找了半天。


你可能感兴趣的:(vector,iterator)