# 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.