我是c ++编程的新手,我编写了一个旋转图像的程序。图像输入采用ppm格式。我的主要功能或带有以下签名的旋转功能有内存泄漏:
<vector> rotate(picture);
我尝试使用valgrind进行大量调试,但无法解决问题,这里是代码的简化可执行版本:http://ideone.com/vHjv
任何人都可以帮我解决这个问题,谢谢
注意:代码可能看起来很长,泄漏位于rotate()函数或main()的末尾。我不知道造成泄漏的原因。
答案 0 :(得分:1)
在函数myMemCpy
中,您忘记取消分配temp
。有一个在标准库中复制数组的功能。它的命名很恰当:std::copy
。我建议您使用它而不是泄漏版本。为了进一步降低泄漏风险,请使用std::vector
而不是指向原始数组的指针。