Здравствуйте, 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 от С++ классов есть?