Я закодировал следующее, и я очень новичок в C++, и он чувствует себя неуклюжим. Я пытаюсь предоставить класс spriteBatch (unique_Ptr). Вот заголовок файла:Что такое синтаксис объявления переменной unique_Ptr в заголовке, а затем назначить его позже в конструкторе?
ref class CubeRenderer : public Direct3DBase
{
public:
CubeRenderer();
~CubeRenderer();
private:
std::unique_ptr<SpriteBatch> spriteBatch;
};
Затем в CPP файле Конструктора, это:
std::unique_ptr<SpriteBatch> sb(new SpriteBatch(m_d3dContext.Get()));
spriteBatch = std::move(sb);
Это только кажется неуклюжим, как я должен был создать «ШБ» и переместить его в «SpriteBatch». попытка прямого назначения «spriteBatch» не удалась (может быть, я просто не знаю правильного синтаксиса). Есть ли способ избежать необходимости использовать 'sb' & std :: move?
спасибо.
Если это в конструкторе, вы можете просто использовать инициализатор элемента. – chris
А, спасибо, но на самом деле мой код выше не компилируется, поэтому мой вопрос был несколько преждевременным. Вернуться к квадрату 1. –