我正在使用一个函数(它是库的一部分),它返回一个uint8_t*
指向已在堆上分配并保存图像像素数据的一些内存的原始指针。该函数的调用者负责调用free
指针。
我调用此函数的代码有许多提前终止的分支,因此我需要free(buffer)
在很多时候调用。我认为如果我可以将缓冲区包装在 a 中会更好,unique_ptr
这样当它超出范围时,内存会自动释放。
我怎样才能做到这一点?
作为参考,函数 decleration 看起来像这样:(uint8_t* getFrame()
我已经知道图像的宽度、高度和通道数以及缓冲区的长度);