C++ Pointers to members

30% OFF - 9th Anniversary discount on Entity Framework Extensions until December 15 with code: ZZZANNIVERSARY9

Syntax

  • Assuming a class named Class...

    • type *ptr = &Class::member; // Point to static members only
    • type Class::*ptr = &Class::member; // Point to non-static Class members
  • For pointers to non-static class members, given the following two definitions:

    • Class instance;
    • Class *p = &instance;
  • Pointers to Class member variables

    • ptr = &Class::i; // Point to variable i within every Class
    • instance.*ptr = 1; // Access instance's i
    • p->*ptr = 1; // Access p's i
  • Pointers to Class member functions

    • ptr = &Class::F; // Point to function 'F' within every Class
    • (instance.*ptr)(5); // Call instance's F
    • (p->*ptr)(6); // Call p's F


Got any C++ Question?