Правильное использование уникального_птра в члене классаC++

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

Сообщение Anonymous »

Я пытаюсь по -настоящему перейти от C ++ 98 к C ++ 11 и более новым. Я обернул голову над большинством новых вещей, но я до сих пор не уверен в правильном использовании уникального_птра .
Рассмотрим пример ниже, где класс A имеет уникальный_ptr (я бы раньше использовал необработанный указатель!). Эта переменная -члена должна быть назначена, когда пользователь нуждается, вызовут функцию где -то еще (не часть класса). Это правильное использование? Если нет, какая лучшая альтернатива? < /P>
class A {
private:
unique_ptr mt;
public:
void initStuff() {
mt.reset(std::move(StaticFuncSomewhereElese::generateMyType()));
}
};

MyType* StaticFuncSomewhereElese::generateMyType() {
MyType* temp = new MyType(...);
//do stuff to temp (read file or something...)
return temp;
}


Подробнее здесь: https://stackoverflow.com/questions/425 ... ass-member

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