priority_queueがあり、その内容の一部(優先度値)を変更したいのですが、キューは再利用されますか?
それがプッシュ/ポップに頼るか(より可能性が高いのは、全体に頼るのではなく、単に「挿入」する必要があるため)、またはトップまたはポップにアクセスするかどうかによって異なります。
キュー内のいくつかの要素を本当に変更したいです。そんな感じ:
priority_queue<int> q;
int a=2,b=3,c=5;
int *ca=&a, *cb=&b, cc=&c;
q.push(a);
q.push(b);
q.push(c); //q is now {2,3,5}
*ca=4;
//what happens to q?
// 1) {3,4,5}
// 2) {4,2,5}
// 3) crash