合并两个优先级队列

Utk*_*ari 6 c++ stl priority-queue

std::priority_queue<some_type, std::vector<some_type>, some_comparator> A;
std::priority_queue<some_type, std::vector<some_type>, some_comparator> B;
Run Code Online (Sandbox Code Playgroud)

如何基于相同的比较器合并这些优先级队列A和B. 我试图找到内置功能但找不到任何功能.

zch*_*zch 6

最简单的方法是简单地将对象从一个队列移动到另一个队列:

while(!B.empty()) {
    A.push(B.top());
    B.pop();
}
Run Code Online (Sandbox Code Playgroud)

但是,可能存在一种更有效的方法.