Próbuję dowiedzieć się, najlepszy sposób, aby utrzymać wskaźnik do elementu w wektorze, który właśnie został utworzony i dodany do państw zmiennym wektorze:Wracając wskaźnik do elementu wektora
SceneGraphNode* addChild(std::string name){
SceneGraphNode child(this,name);
m_children.push_back(child);
return &child;
}
The kompilator słusznie daje mi ostrzeżenie, ponieważ zwracam adres obiektu utworzonego na stosie i obiekt ten wykracza poza zakres, gdy funkcja się kończy. Jednak obiekt nadal żyje w vector
, prawda?
Czy powinienem zignorować ostrzeżenie lub czy istnieje lepszy sposób na zrobienie tego?
dobre punkty, dzięki – johnbakers
+1 za pomysł przechowywania inteligentnego wskaźnika w wektorze. – taocp
tak, zamierzam użyć 'std :: vector> m_children;' zamiast –
johnbakers