Получить нормальный ptr от shared_ptr?
Другой способ сделать это c++ - использовать комбинацию smart-pointer операторов &
и *
:
boost::shared_ptr foo_ptr(new foo());
c_library_function( &*foo_ptr);
Хотя лично shared-ptr я бы предпочел использовать shared-ptr метод get()
(это действительно boost правильный ответ), одно из boostshared-ptr его преимуществ заключается c++ в том, что его можно использовать cpp с другими классами, которые boost перегружают operator*
(разыменование smart-pointer указателя), но при этом не smart-pointers предоставлять метод get()
. Это c++ может быть полезно, например, в boost шаблоне универсального класса.
c++
boost
smart-pointers
shared-ptr
Получить нормальный ptr от shared_ptr?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.