Skip to content
Free public beta until December 4, 2026: every course is open, no card needed. After that, the first chapter of each course stays free and full access is a one-time $39 ($19 for up to 100 founding members chosen for helpful feedback). Your progress is kept. How the beta works

this pointer

The object's address, which C++ passes to every member function as a hidden first argument - in rdi, rcx, x0 or a0.

this is a prvalue pointer to the object a non-static member function was called on, passed as the first integer argument (rdi on System V, rcx on Microsoft x64, x0 on ARM64, a0 on RISC-V); it is not stored in the object.

Examples

  • Calling p.area() on x86-64 Linux passes &p in rdi as this.

Read the full section →