The Keyword this

From Appmethod Topics
Jump to: navigation, search

Go Up to Classes Index

The keyword this:

  • Is passed as a hidden argument in all calls to nonstatic member functions.
  • Is a local variable available in the body of any nonstatic member function.
  • Does not need to be declared and is rarely referred to explicitly in a function definition.
  • Is used implicitly within the function for member references.

Nonstatic member functions operate on the class type object with which they are called. For example, if x is an object of class X and f() is a member function of X, the function call x.f() operates on x.

Similarly, if xptr is a pointer to an X object, the function call xptr->f() operates on *xptr. But how does f know which instance of X it is operating on? C++ provides f with a pointer to x called this.

If x.f(y) is called, for example, where y is a member of X, this is set to &x and y is set to this->y, which is equivalent to x.y.

See Also