我編寫了以下代碼,並且對於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);
這似乎只是笨拙的我要創建「SB」,並將其移動到「spriteBatch」的方式。試圖直接分配給'spriteBatch'失敗(也許我只是不知道正確的語法)。有沒有辦法避免需要使用'sb'& std :: move?
謝謝。
如果這是在構造函數中,您可以使用成員初始值設定項。 – chris
啊,謝謝,但實際上我的代碼不能編譯,所以我的問題有點不成熟。回到方格1. –