首页 > 其他 > 详细

vector 的push_back()在release下崩溃问题

时间:2020-06-23 09:42:12      阅读:226      评论:0      收藏:0      [点我收藏+]

最近几天遇到程序在debug下没有问题,在release下崩溃的问题。

崩溃的地方是vector的push_back()函数,分配内存报错。在网上搜了很多办法都没有生效。

具体问题是:在visual studio 2015下开发的dll程序。相关属性设置:

属性--通用--字符集--Use Unicode Character Set;属性--C/C++--代码生成--MT。

解决办法是在调用push_back()前先调用reserve()。就是预留内存。

之前尝试过不用push_back(),在前面先resize()然后直接赋值,还是崩溃,只有使用reserve()的方法帮我解决了问题。

 

这段代码之前是没有问题的,从改字符集为Use Unicode Character Set之后才出现的。

参考:http://blog.sina.com.cn/s/blog_4b9cc6db0100cbw3.html

 

vector 的push_back()在release下崩溃问题

原文:https://www.cnblogs.com/juluwangshier/p/13180205.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!