0

我开始使用 flatbuffer 库。但是在删除缓冲区时,有一件事情让我感到不舒服。我不知道如何通过它的根指针元素删除缓冲区。如果这是可能的,根指针可以获取分配空间的所有权,我不必担心生命周期问题(悬空根指针,内存泄漏,......)

std::uint_8* buffer = get_buffer_for_exaple_from_file("my_monster.bin");
auto monster = MyGame::Sample::GetMonster(buffer);
///monster points somewhere in buffer

...

///now this would be very handy
delete_buffer(monster);                 ///buffer is deleted

问:是否有可能(可能在某些限制下,因为怪物是不可变的,等等)写类似 delete_buffer 的东西

4

1 回答 1

0

根指针指向缓冲区的一个位置,该位置不在已知偏移处,所以不,您不能通过它删除缓冲区。要删除缓冲区,必须使用原始缓冲区指针。

于 2015-11-24T17:18:44.693 回答