c++指针问题.

来源:百度知道 编辑:UC知道 时间:2024/05/14 09:40:26
若obj为一个类的实例,a为类的成员变量,语句cout<<(void *) &obj.a<<endl;
将输出a的地址,请详细给解释一下,谢了.

(void *)强制类型转换
&取地址

C/C++中每个变量都有一个地址, 就像每个人都有一个位置一样.
(void*)&obj.a中"."的优先级比"&"高,所以先取得变量(obj.a)然后再得到a的地址&(obj.a), 这个地址是一个long型的值, 注意这时的地址变成一个值了, 如现在就输出的话就输出这个值, 但加了个(void*)后这个值又变成了地址, 最后输出这个地址