私のコードには、のオブジェクトへのポインタのベクトルと、次のオブジェクトへのポインタをSomeClass含む(カスタム比較)ベクトルベースの優先度キューがありますSomeClass。
std::vector<SomeClass*> my_vector;
std::priority_queue<SomeClass*, vector<SomeClass*>, CustomCompare> my_queue;
最初my_vectorは空で、my_queueいっぱいです。徐々にこのようmy_queueに空になりmy_vectorます:
my_vector.push_back(my_queue.top());
my_queue.pop();
私の質問は次のとおりです。プッシュバックされmy_queue.pop()たオブジェクトに割り当てられたメモリを削除するため、の要素がダングリングポインタになりますか?それ以外の場合、ベクトルは、によって返されるポインタが指すオブジェクトの深いコピーまたは浅いコピーを作成しますか?SomeClassmy_vectormy_vectormy_queue.top()