Timeline for Where is the 'this' variable stored?
Current License: CC BY-SA 3.0
7 events
| when toggle format | what | by | license | comment | |
|---|---|---|---|---|---|
| Feb 23, 2018 at 4:39 | comment | added | Dmytro | what actually happens depends on calling convention and ABI. in x86 __cdecl windows for example, this will be passed as ecx register, and there will actually be only 1 argument on the stack, and there would be no way for C to pass this argument without using inline assembly or equivelent. __stdcall would do exactly what you wrote though. | |
| Aug 29, 2014 at 4:52 | comment | added | Basile Starynkevitch | It is not stored in the program (which is a static thing, e.g. an ELF executable file on Linux) but it appears -in a register of the processor- dynamically at execution time. | |
| Aug 29, 2014 at 4:29 | comment | added | quant |
To put it more simply, suppose this happens to have a value of 0x28ac67. Where is that value stored in your program?
|
|
| Aug 29, 2014 at 4:27 | comment | added | quant | Yes, I am. I know it's calculated at runtime, but where is it stored? | |
| Aug 29, 2014 at 4:26 | comment | added | user4828 | It is calculated at runtime, just like any other address. Are you familiar with the & operator? | |
| Aug 29, 2014 at 4:24 | comment | added | quant | So where is the value of that address, which is passed on to the method, stored? | |
| Aug 29, 2014 at 4:21 | history | answered | user4828 | CC BY-SA 3.0 |