What is an Iterator class?

Answer Posted / ritesh pal

A class that is used to traverse through the objects maintained by a container class. There are five categories of iterators:

 input iterators,
 output iterators,
 forward iterators,
 bidirectional iterators,
 random access.

An iterator is an entity that gives access to the contents of a container object without violating encapsulation constraints. Access to the contents is granted on a one-at-a-time basis in order. The order can be storage order (as in lists and queues) or some arbitrary order (as in array indices) or according to some ordering relation (as in an ordered binary tree). The iterator is a construct, which provides an interface that, when called, yields either the next element in the container, or some value denoting the fact that there are no more elements to examine. Iterators hide the details of access to and update of the elements of a container class.

The simplest and safest iterators are those that permit read-only access to the contents of a container class. The following code fragment shows how an iterator might appear in code:

cont_iter:=new cont_iterator();
x:=cont_iter.next();
while x/=none do
...
s(x);
...
x:=cont_iter.next();
end;
In this example, cont_iter is the name of the iterator. It is created on the first line by instantiation of cont_iterator class, an iterator class defined to iterate over some container class, cont. Succesive elements from the container are carried to x. The loop terminates when x is bound to some empty value. (Here, none)In the middle of the loop, there is s(x) an operation on x, the current element from the container. The next element of the container is obtained at the bottom of the loop.

Is This Answer Correct ?    0 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Difference between pointer to constant vs. Pointer constant

576


Why is main an int?

524


Am pass the 10000 records to target in target I will take commit interval 15000 when I was stop the work flow what will happened

1074


What is the best c++ compiler for windows 10?

576


Is c++ platform dependent?

627






Explain the uses oof nested class?

621


Will a C compiler always compile C++ code a) Yes b) No c) Only optimized compilers

608


What is near, far and huge pointers? How many bytes are occupied by them?

654


What is virtual destructor? What is its use?

571


What is a forward referencing and when should it be used?

573


Where are setjmp and longjmp used in c++?

609


What do you mean by inheritance in c++? Explain its types.

608


Explain register storage specifier.

586


What is the correct syntax for inheritance a) class aclass : public superclass b) class aclass inherit superclass c) class aclass <-superclass

681


What is a type library?

684