气死我啦!调了一下午+一晚上的bug,结果是因为memcpy浅拷贝问题,给我都整无雨了。

之前一直是引发异常,我debug了一下是到自定义类型析构函数处引发的异常。应该就是释放了已经释放的内存导致的问题。
可是一直没有意识到是memcpy的锅,搜了搜才知道,原来就是这小子的毛病。
解决方法是什么?直接不用memcpy!采用赋值运算符重载,因为赋值运算符重载是采用深拷贝方式来进行的。改成以下格式!
// memcpy(temp, start, sizeof(T) * size());
for (size_t i = 0; i < size(); ++i) {
temp[i] = start[i];
}

© 版权声明
1. 除特殊说明外,本网站所有原创文章的版权归作者所有,未经授权,禁止以任何形式(包括但不限于转载、摘编、复制、镜像等)发布至任何平台。
2. 论文总结类文章中涉及的图表、数据等素材,版权归原出版商及论文作者所有,仅为学术交流目的引用;若相关权利人认为存在侵权,请联系本网站删除,联系方式:i@smallbamboo.cn。
3. 违反上述声明者,将依法追究其相关法律责任。
2. 论文总结类文章中涉及的图表、数据等素材,版权归原出版商及论文作者所有,仅为学术交流目的引用;若相关权利人认为存在侵权,请联系本网站删除,联系方式:i@smallbamboo.cn。
3. 违反上述声明者,将依法追究其相关法律责任。
THE END
暂无评论内容