Tôi đang cố gắng tìm ra cách tốt nhất để giữ một con trỏ đến một phần tử trong một vector vừa được tạo ra và thêm vào các biến thành viên vector:Trả về một con trỏ đến một yếu tố vector
SceneGraphNode* addChild(std::string name){
SceneGraphNode child(this,name);
m_children.push_back(child);
return &child;
}
Các trình biên dịch đúng cho tôi một cảnh báo kể từ khi tôi trả về địa chỉ của một đối tượng được tạo trên ngăn xếp, và đối tượng đó sẽ đi ra ngoài phạm vi khi hàm kết thúc. Tuy nhiên, đối tượng sống trên vector
, phải không?
Vì vậy, tôi có nên bỏ qua cảnh báo hoặc có cách nào tốt hơn để thực hiện việc này không?
điểm tốt, cảm ơn – johnbakers
+1 cho ý tưởng lưu trữ con trỏ thông minh trong vectơ. – taocp
có, tôi sẽ sử dụng 'std :: vector> m_children;' thay vì –
johnbakers