C++: OOP: this

When you are writing code in a member function, the predefined variable this contains a pointer to the current object. Any member element, for example m_x, can be referenced in two ways:

m_x = 10;
this->m_x = 10;  // same as above.

References to members are usually written without this because there is no need to use it, however, there are situations where this is needed.

Naming clarity

If a naming convention isn't used that makes member/instance variables clear (eg, prefixing such variables with "m_"), the use of this can be used to document the nature of the variable. Naming rules are to be preferred however.

Returning or passing the current object

The primary use of this is to return a pointer to the current object, or to pass the object to a function.