Saying that this pointer itself is like const - that is, you cannot change the pointer to point to another memory.
In the earliest history of C ++, before you could overload new and delete , or create a new invention, this was a non-constant pointer (at least inside ctor). The class that wanted to handle its own memory management did this by allocating space for the instance in the constructor and writing the address of that memory into this before exiting the constructor.
In a constant member function, the type you would be dealing with would be Class const *const this , which means that this points to const (as well as the const pointer itself).
source share