This seems to be a homework question so I'll try and give you pointers instead of the answer you hand in
deque <int> :: iterator it;
/*scope resolution operator means we're getting this obj from this scope,
angle bracket is used for template, it seems to be an object,
but what does the word iterator doing here?
::
scope resolution operator means you are looking for a name defined in the scope name (the name that is before the ::
). E.g. just ::iterator
, or iterator
would be the name found in a global scope.
So here you have a scope deque<int>::
, there is however no name deque<int>
in the global scope, that is why you see using namespace std
on the fourth line. This is considered bad practice.
So lets read this as std::queue<int>::iterator
.
So when looking for the name iterator
you should consult the documentation preferably at https://en.cppreference.com/w/cpp/container/deque
You find there that you are looking at std::queue and its members (the names it contains). These members describe different things, values, functions types and so on. Find the member type iterator and see what it says.
Now you just need to read up on what an iterator is, it is a thing that behaves like one of these https://en.cppreference.com/w/cpp/iterator.
Notice the operators applied to it
later in the code. You see it = ...
, it != ...
, ++it
and *it
, these have their meaning and function described in the linked documentation.