возникла следующая проблема:
vector<pair<float,float> Copy_Vec (const vector<pair<float,float> &v1)
{
vector<pair<float,float> ret_vec;
for(size_t var=0; var < v1.size(); var++)
{
pair<float,float> p = v1[var];
ret_vec.pushback(p);
}
return ret_vac;
}
На самом деле уничтожает ссылку на v1, после операции обратного хода меняется вектор v1, как это происходит?
на самом деле это код
vector< Triangle > Track_Finder::Create_Triangle_Tree(const delaunator::Delaunator &delauny)
{
Triangle triangle;
vector< Triangle > ret_tree;
for(size_t var=0; var < delauny.triangles.size(); var+=3)
{
vector<pair<float,float>> vec_p;
vec_p.resize(3);
pair<float,float> p;
p.first =(float) delauny.coords[2 * delauny.triangles[var]]; //tx0
p.second=(float) delauny.coords[2 * delauny.triangles[var] + 1]; //ty0
vec_p[0]=p;
p.first =(float) delauny.coords[2 * delauny.triangles[var + 1]]; //tx1
p.second = (float) delauny.coords[2 * delauny.triangles[var + 1] + 1];//ty1
vec_p[1]=p;
p.first =(float) delauny.coords[2 * delauny.triangles[var + 2]]; //tx2
p.second =(float) delauny.coords[2 * delauny.triangles[var + 2] + 1]; //ty2
vec_p[2]=p;
ret_tree.push_back(Triangle(vec_p));
}
return ret_tree;
}
при резервировании ссылки на delauny уничтожается / портится