Heap vs Priority queue in C++

Could someone please explain the difference between heap and priority queue?
And when is one preferred over the other?

From what I have searched heap is way of implementing priority queue. But what confuses me is that both the data structures can store the elements in either increasing or decreasing order, so how are the two different?

Thank you!

Comments (0)