У меня есть вопрос о указателе в C++.Может ли указатель 'this' быть общим указателем?
Если я создаю указатель,
std::shared_ptr<SomeClass> instance_1;
ли this
указатель instance_1
также общий указатель?
Причина, по которой я задаю этот вопрос, заключается в том, что я начинаю использовать другой поток в своем методе с помощью указателя this
. Скопирует ли он shared_ptr
?
'this' всегда сырой указатель. Но ваш класс может быть получен из 'std :: enable_shared_from_this', чтобы позволить его методам возвращать' shared_ptr' 'this' – KABoissonneault
. Но см. [' Std :: enable_shared_from_this'] (http://stackoverflow.com/a/ 11711094/751579). – davidbak
Возможный дубликат [как вернуть общий \ _ptr текущему объекту из самого «этого» объекта] (http://stackoverflow.com/questions/36863240/how-to-return-shared-ptr-to-current- объектно-из-внутри-это объектно-сам по себе) – davidbak