The "this" pointer is a fundamental feature of C++ OO programming. It may have the same name in other languages. The this pointer is always passed to any non-static methods. Though it can be accessed directly, its use is generally assumed : when a variable name is used inside a method, it is first looked for in local scope, then in class scope (this->foo), and finally in global scope. Another way of saying this->foo is className::foo; for global scope, ::foo.