2015-11-24 79 views
0

我開始使用flatbuffer庫。但是在刪除緩衝區時,有一件事情讓我感到不舒服。我不知道通過它的根指針元素來刪除緩衝區。如果這是可能的根本指針可以採取分配空間的所有權和我沒有理會終身-問題(叼着根指針,內存泄漏,...)flatbuffers:是否可以通過根指針刪除緩衝區

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

回答

0

根指針指向的位置裏面的緩衝區不在已知的偏移位置,所以不可以,通過它刪除緩衝區。要刪除緩衝區,您必須使用原始緩衝區指針。