Re[2]: Проблема владения
От: AndryBlack Россия  
Дата: 19.07.12 08:24
Оценка:
Здравствуйте, johny5, Вы писали:

J>Здравствуйте, AndryBlack, Вы писали:


AB>>но без хака в shared_ptr я не вижу возможности это сделать.


J>Тут 2 очевидных viable подхода:

J> 1. Делать цельный Lua<->C++ count reference (если boost::shared_ptr не подходит можно посмотреть в сторону intrusive_ptr — там счётчик вытащен наружу)
J> 2. Делать strong_ptr <-> weak_ptr концепт

J>Мы остановились на втором. Объект владеется С++ стороной, Lua держит ключик, по которому происходит поиск и доступ к объекту на С++ стороне. Соответственно если объект удалён на С++ стороне, Lua получит нормальный null-object. Если Lua хочет удалить объект сама — используем спец. API.


Можно подробней? Наследование в Lua от С++ классов есть?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.