崖高人远 2016-06-15 10:07 采纳率: 81.8%
浏览 2668
已采纳

C++11 vector使用初始化列表会造成内存泄漏

std::vector<std::vector<std::string>> itemText =  //初始化列表会造成内存泄漏
{
    { "1" },
    { "2" },
    { "3" },
    { "4" },
    { "5" },
    { "6" },
    { "7" },
    { "8" },
    { "9" },
    { "0" }
};
上面的代码会造成内存泄漏,Win7+VS2013

换了下面的代码就没问题了
std::vector<std::string> vRow1 = { "1" };
    std::vector<std::string> vRow2 = { "2" };
    std::vector<std::string> vRow3 = { "3" };
    std::vector<std::string> vRow4 = { "4" };
    std::vector<std::string> vRow5 = { "5" };
    std::vector<std::string> vRow6 = { "6" };
    std::vector<std::string> vRow7 = { "7" };
    std::vector<std::string> vRow8 = { "8" };
    std::vector<std::string> vRow9 = { "9" };
    std::vector<std::string> vRow10 = { "0" };

    TreeItemsText itemText = { vRow1, vRow2, vRow3, vRow4, vRow5, vRow6, vRow7, vRow8, vRow9, vRow10 };
    这是为什么?
  • 写回答

3条回答 默认 最新

  • threenewbee 2016-06-15 10:11
    关注

    你是怎么判断有内存泄漏的?用的工具么?一些工具判断不准确,它们会把在堆上没有发生回收的数据都当成“泄漏”。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 如何修改pca中的feature函数
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
  • ¥15 画两个图 python或R
  • ¥15 在线请求openmv与pixhawk 实现实时目标跟踪的具体通讯方法