Using objects with pointers
Objects can be created on the free store and accessed through a typed pointer. This gives more flexibility because it is efficient to pass pointers to functions, and you can explicitly determine the lifetime of the object because an object is created with the call to new
and destroyed by the call to delete
.
Getting pointers to object members
If you need to get access to the address of a class data member through an instance (assuming the data member is public
), you simply use the &
operator:
struct point { double x; double y; }; point p { 10.0, 10.0 }; int *pp = &p.x;
In this case struct
is used to declare point
so that the members are public
by default. The second line uses an initialization list to construct a point
object with two values, and then the final line gets a pointer to one of the data members. Of course, the pointer cannot be used after the object has been destroyed. Data members are allocated in memory (in this case on the stack...