Когда использовать shared_ptr и когда использовать необработанные указатели?C++

Программы на C++. Форум разработчиков
Anonymous
Когда использовать shared_ptr и когда использовать необработанные указатели?

Сообщение Anonymous »

Код: Выделить всё

class B;

class A
{
public:
A ()
: m_b(new B())
{
}

shared_ptr GimmeB ()
{
return m_b;
}

private:
shared_ptr m_b;
};
< /code>

Допустим, B - это класс, который семантически не должен существовать вне времени жизни A, то есть, это абсолютно смысл для B, который сам сам по себе. [b] Должен ли GIMMEB 
вернуть ared_ptr или b*? [/b]

В целом, хорошей практикой является полностью избегать использования необработанных указателей в коде C ++, а не умных указателей? shared_ptr следует использовать только при явном передаче или обмене владением, что, я думаю, довольно редко вне случае>

Подробнее здесь: https://stackoverflow.com/questions/765 ... w-pointers

Вернуться в «C++»