Pointers to members are one of the most intricate syntactic constructs in C++, and yet, they are a very powerful feature too. In future tips, I will discuss pointers to members in further detail and show to define and use them.
Uses of Pointers to Members
Pointers to members enable you to invoke a member function of an object without having to know the name of that function. This is very handy if you’re implementing a callback mechanism. Likewise, you can use a pointer to data member to examine and alter the value of a data member without knowing its name. Thus, you can think of pointers to members as the object-oriented equivalents of function pointers and data pointers.
Pointers to Member Functions and Pointers to Data Members
A class can have two general categories of members: function members and data members. Similarly, there are two categories of pointers to members: pointers to member functions, and pointers to data members. The latter are less common because in general, classes do not have public data members. However, when using legacy C code that contains structs or classes that happen to have public data members, pointers to data members are useful.