Работа на обучение, как использовать смарт-указатели и C++ в общем ... Предположим, что у меня есть следующий класс:Правильный способ инициализации unique_ptr
template<typename T>
class MyClass {
public:
MyClass(const T& def_val)
private:
std::unique_ptr<T> default_val;
};
Что идиоматических способ реализации конструктора, если I хотел бы только сохранить указатель на объект типа T со значением, заданным в члене класса default_val? Мое понимание также заключается в том, что мне вообще не нужно определять деструктор, так как unique_ptr автоматически позаботится о том, чтобы очистить себя?
'unique_ptr 'владеет указателем на динамически распределяемый' T' ... поэтому вам нужно динамически распределить 'T' и сохранить его в' default_val' –