我试图找出最好的方法来保存指向刚刚创建并添加到成员变量向量中的向量中的元素的指针:
SceneGraphNode* addChild(std::string name){
SceneGraphNode child(this,name);
m_children.push_back(child);
return &child;
}
编译器正确地给了我一个警告,因为我正在返回在堆栈上创建的对象的地址,并且该对象将在函数结束时超出范围。但是,对象仍然存在于 中vector
,对吗?
那么,我应该忽略警告还是有更好的方法来做到这一点?