Я написал следующий код, новичок в 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 ::?
Спасибо.