The This Keyword
The this
keyword in object-oriented programming refers to the current object instance. It provides member functions with a pointer to the object that invoked them, allowing access to that object's variables and functions.
Example.cpp
12345678910111213#include <iostream> class Example { public: Example* get_address() { return this; } }; int main() { Example obj; std::cout << &obj << std::endl; std::cout << obj.get_address() << std::endl; }
When you use the dot operator (.
) to access member variables or member functions within a class, the this
pointer implicitly points to the object for which the member function is called. This is often valuable in various scenarios and commonly employed to avoid ambiguity in variable names.
Example.cpp
123456789101112131415#include <iostream> class Example { public: void multiply(int number) { number *= number; } int number; }; int main() { Example obj; obj.number = 2; obj.multiply(5); std::cout << obj.number; }
Here, we can utilize the this
keyword since it points to the current object as a pointer. To access its attributes, we must use the ->
operator.
main.cpp
123456789101112131415#include <iostream> class Example { public: void multiply(int number) { this->number *= number; } int number; }; int main() { Example obj; obj.number = 2; obj.multiply(5); std::cout << obj.number; }
Using the this
keyword is a widespread practice across various scenarios. It's often employed, particularly in large classes, to signify that a variable is a member of the classes and not an external parameter or argument.
Thanks for your feedback!
Ask AI
Ask AI
Ask anything or try one of the suggested questions to begin our chat
Awesome!
Completion rate improved to 3.13
The This Keyword
Swipe to show menu
The this
keyword in object-oriented programming refers to the current object instance. It provides member functions with a pointer to the object that invoked them, allowing access to that object's variables and functions.
Example.cpp
12345678910111213#include <iostream> class Example { public: Example* get_address() { return this; } }; int main() { Example obj; std::cout << &obj << std::endl; std::cout << obj.get_address() << std::endl; }
When you use the dot operator (.
) to access member variables or member functions within a class, the this
pointer implicitly points to the object for which the member function is called. This is often valuable in various scenarios and commonly employed to avoid ambiguity in variable names.
Example.cpp
123456789101112131415#include <iostream> class Example { public: void multiply(int number) { number *= number; } int number; }; int main() { Example obj; obj.number = 2; obj.multiply(5); std::cout << obj.number; }
Here, we can utilize the this
keyword since it points to the current object as a pointer. To access its attributes, we must use the ->
operator.
main.cpp
123456789101112131415#include <iostream> class Example { public: void multiply(int number) { this->number *= number; } int number; }; int main() { Example obj; obj.number = 2; obj.multiply(5); std::cout << obj.number; }
Using the this
keyword is a widespread practice across various scenarios. It's often employed, particularly in large classes, to signify that a variable is a member of the classes and not an external parameter or argument.
Thanks for your feedback!