Mic*_*gan 11 c c++ memory-management
在C,我们有malloc(),free()和realloc().在C++中,我们有new(),delete()而且他们的阵列版本.有C++ realloc功能吗?我在嵌入式领域实现了一些低级的东西,并且意识到没有realloc与C++函数配对的功能,并且想确保我没有遗漏任何东西.我猜测"将new place"放入一个新的,独立的缓冲区是最接近的匹配,但我想确定.
稍微重复一下这个问题,因为我得到的回答有点远.
我已经实现了设备级malloc/new/realloc/etc. 我的嵌入式设备上的函数,并想要仔细检查,以确保没有我不知道的C++ realloc类型函数.
不,没有直接的等价物。您必须自己实施。由于类确实不应该改变其大小,因此这并不是一个真正的问题。移动语义可以处理大多数情况。
然而,有一些类使用头信息+尾端分配的数据。要“正确”地编写这些代码,您必须重写类的operator new()和函数来处理这些额外的“灵活”数据。operator delete()如何“重新分配”数据取决于您的需求。
如果这不能回答您的问题,请发布您正在尝试的示例。