How could I "iterate" through a queue without altering its contents? I want to basically copy one queue onto another but I don't want to use .pop() because it'll remove the items from the original stack.
If you want to iterate over the queue you can use std::deque instead. Just use push_back instead of push and pop_front instead of pop. You can iterate over a std::deque the same way you iterate over a std::vector.