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保存的数据是这个申请空间的地址。所以不会被释放。
原文地址:http://blog.csdn.net/mfmfmmf1/article/details/45330455