Правильное использование уникального_птра в члене класса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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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