Ho codificato quanto segue e sono molto nuovo in C++, e mi sembra goffo. Sto provando a fornire l'ambito di classe 'spriteBatch' (a unique_Ptr). Ecco il file di intestazione:Qual è la sintassi per dichiarare una variabile unique_Ptr in un'intestazione, quindi assegnarla successivamente nel costruttore?
ref class CubeRenderer : public Direct3DBase
{
public:
CubeRenderer();
~CubeRenderer();
private:
std::unique_ptr<SpriteBatch> spriteBatch;
};
Poi nel file cpp Costruttore, questa:
std::unique_ptr<SpriteBatch> sb(new SpriteBatch(m_d3dContext.Get()));
spriteBatch = std::move(sb);
Sembra proprio goffo il modo in cui ho dovuto creare 'sb' e spostarla 'SpriteBatch'. tentare di assegnare direttamente a 'spriteBatch' fallito (forse semplicemente non conosco la sintassi corretta). C'è un modo per evitare di dover usare 'sb' & std :: move?
Grazie.
Se questo è nel costruttore, è sufficiente utilizzare un inizializzatore membro. – chris
Ah, grazie, ma in realtà il mio codice sopra non viene compilato, quindi la mia domanda è stata un po 'prematura. Torna al quadrato 1. –