将"this"地址保存到变量中

dch*_*tri 0 c++

这会保存这指向的地址:

size_t this_address = size_t(this);
Run Code Online (Sandbox Code Playgroud)

这是便携式吗?我需要保存这个指向的地址.关于是否有正确的方法来解决这个问题的任何建议.请注意,出于优化目的.

huy*_*itw 6

void * 是一个更便携的,在我看来,更正确的方式来存储指针地址:

void *this_address = this;
Run Code Online (Sandbox Code Playgroud)

这就是说,为什么你需要这个便携式?它根本不是类型安全的,您应该使用指向正确(基础)类型的指针,或者在适用的情况下使用指向(基础)类型的智能指针.


cma*_*ter 5

你可以简单地说:

MyClass* foo = this;
Run Code Online (Sandbox Code Playgroud)

根本不需要任何铸造.