Is it possible to construct a queue which is built using its copy constructor that takes a deque as an argument but is also able to manipulate the copied deque? The default behavior is copied data is preserved in its original location which is fine, but it also wouldn't hurt to use a pointer to the deque to create a bound deque-queue combo.
deque<int> Deck {10, 20, 30, 40};
queue<int> DeckQue(Deck);
DeckQue.push(50);
for (auto it = Deck.begin(); it != Deck.end(); ++it) {
cout << " " << *it;
}
//This still prints 10, 20, 30, 40 I want it to print 10, 20, 30, 40, 50