我来自 Java,填充容器不需要思考。我现在使用 c++ 的问题是,用在函数范围中声明的数据填充函数中的容器可能会导致错误,当我想访问它时数据不再存在。我找不到解决该问题的教程,所以我采用 Java 方式,只让容器获取用“new”声明的指针。但现在我被迫返回一个
std::list<Vertex<float> >
从一个函数开始,并认为这可能是学习如何填充和返回这样一个东西的好点。这会
{
std::list<Vertex<float> > myList;
Vertex<float> v(0.0, 0.1, 0.2);
myList.push_back(v);
myList.push_back(Vertex<float>(1,0, 1.1, 1.2));
return myList;
}
实际上可以作为示例函数体吗?如果是,为什么 v 仍然存在于范围之外?容器中的每次插入是否也意味着复制?