Каков синтаксис объявления уникальной _переменной Ptr в заголовке, а затем присвоения ее позже в конструкторе?

Я написал следующий код, новичок в C++, и он кажется неуклюжим. Я пытаюсь дать 'spriteBatch' (уникальную область класса _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);

Просто кажется неуклюжим то, как мне пришлось создать 'sb' и переместить его в 'spriteBatch'. попытка присвоить непосредственно 'spriteBatch' не удалась (возможно, я просто не знаю правильного синтаксиса ). Есть ли способ избежать необходимости использовать ход «sb» и std ::?

Спасибо.

7
задан Puppy 29 April 2012 в 16:50
поделиться