공부
[c++ / unsolved] map 삽입 후 range based loop시 순서 뒤바뀜 문제
딕스트라
2019. 4. 23. 14:37
std::vector<std::pair<THybridBv*, THybridBv*>> collideHybridBvPair;
std::map<THybridBv*, std::vector<THybridBv*>> collide_list;
for(auto bvs : hybrid_bvh.collideHybridBvPair)
{
collide_list[bvs.first].push_back(bvs.second);
}
for (auto bvs : collide_list)
{
printf("bv0 id : %d", bvs.first->id);
}
매번 실행시 bv0 id가 다른 결과가 나옴.
collideHybridBvPair 바로 접근 시 당연히 순서가 제대로 나오는걸로 봐서, map 삽입시 b+tree였나? 거기서 순서가 뒤바뀌는거 같음.
아직 원인파악 못함.