Shu*_*tra 2 c++ static pointers class static-members
如何在C++中获取类的私有静态成员的内存地址.在下面的代码中,我通过他们的内存地址直接访问类的私有成员.
#include <iostream>
class directM {
int a;
int b;
public:
directM(int aa , int bb){
a = aa;
b = bb;
}
void show(){
std::cout << a << b << std::endl;
}
};
int main(){
directM dm(10,20);
dm.show();
*(int*)( &dm ) = 15;
*(int*)( ( (int*)(&dm) ) + 1 ) = 25;
dm.show();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我更改其中一个成员并使其成为静态,即
static int b;
现在我如何能够通过其地址直接访问此私有成员.
注意: - 我知道这是一种非常不明智的方式来访问数据,我不是用它来解决任何问题.这只是一个学习练习,可以更好地了解语言.