0

私はフラットバッファライブラリを使い始めています。しかし、バッファの削除に関しては、私にとって不快に感じることがあります。ルートポインタ要素を介してバッファを削除する方法がわかりません。これが可能であれば、ルート ポインターは割り当てられたスペースの所有権を取得でき、寿命の問題 (ルート ポインターのぶら下がり、メモリ リークなど) を気にする必要はありません。

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

Q: 可能ですか (おそらく、モンスターは可変ではないなどの制限の下で)、delete_buffer のようなものを書きます

4

1 に答える 1

0

ルート ポインターは、既知のオフセットにないバッファー内の場所を指しているため、それを介してバッファーを削除することはできません。バッファーを削除するには、元のバッファー ポインターを使用する必要があります。

于 2015-11-24T17:18:44.693 に答える