void CMYDlg::OnBnClickedButton1() { int x=123; int *y=new int; int *z=new int; y=&x; *z=x; m_dwordA=(DWORD)&x; m_dwordB=(DWORD)y; m_dwordC=(DWORD)z; //m_dwordA B C都是类的成员变量 }
m_dword A B C哪个成员变量能成功把 123保存?
m_dwordC=(
DWORD
)z;
|
只有这个可以。
m_dwordA和m_dwordB,存储的都是变量x的地址,而这个函数结束后,x指向的内存都是被释放的。所以不能保存。
只有m_dwordC指向的是申请的int类型的空间,而m_dwordC保存的数据是这个申请空间的地址。所以不会被释放。