C++ has an operator that can be used with a pointer to simplify the notation for
specifying the members of a struct or a class. The arrow operator , -> , combines
the actions of a dereferencing operator, * , and a dot operator to specify a member of
a dynamic struct or class object that is pointed to by a given pointer. For example,
suppose you have the following definition:
struct Record
{
int number;
char grade;
};
The following creates a dynamically allocated variable of type Record and sets the
member variables of the dynamic struct variable to 2001 and 'A' .
Record *p;
p = new Record;
p->number = 2001;
p->grade = 'A';
The notations
p->grade
and
(*p).grade
have the same meaning. However, the first is more convenient and is almost always the
notation used.