stack — LIFO. queue — FIFO.
std::stack:
1std::stack<int> s;2s.push(1);3s.push(2);4s.push(3);5std::cout << s.top(); // 3 (last in)
std::queue:
1std::queue<int> q;2q.push(1);3q.push(2);4q.push(3);5std::cout << q.front(); // 1 (first in)
Use cases: