程序旋转图像时发生内存泄漏

Memory leak in Program to Rotate an image

本文关键字:内存 泄漏 旋转 图像 程序      更新时间:2023-10-16

我是c++编程新手,我写了一个程序来旋转一个图像。图像的输入是ppm格式。我的主函数或旋转函数中有内存泄漏,签名如下:

     <vector> rotate(picture);

我试着调试很多使用valgrind,但无法捕获的问题,这里是简化的,可执行的版本的代码:http://ideone.com/vHjv

有谁能帮我一下吗,谢谢。

注意:代码可能看起来很长,泄漏是在rotate()函数或main()的末尾。我不知道是什么原因造成的。

在函数myMemCpy中,您忘记释放temp。在标准库中有一个用于复制数组的函数。它的名字很贴切:std::copy。我建议你用它,而不是你那漏的版本。为了进一步降低泄漏的风险,使用std::vector代替指向原始数组的指针。