如何获取this指针的地址

*若价格不公道,可以让提问者在平台追加赏金哦,平台是您利益的保证

已完成
如何获取this指针的地址-郁闷
郁闷 4年前发布
悬赏:10.0 元

问题详情:分类: -c++

首先this指针并不在类结构中,而是通过参数隐式传递给成员函数,那么在成员函数中打出this指针的地址会怎么样。
class MC{
public:
long address() {
return long(&this);
}
};
上面的代码会编译报错,提示信息大概是这个样子:
单目‘&’的操作数必须是左值
return &this;
然后,我用gdb看了下this的类型,是这样的:
(gdb) whatis this
type = MC * const
然后,我用gdb看了下this的类型,是这样的:
(gdb) whatis this
type = MC * const
想请问下,为什么上面打印出this指针的地址会提示错误,MC * const也不能说一定是右值吧,而且this指针本来就是成员函数的一个形参,为什么就不允许取他的地址?求助。

*若价格不公道,可以让提问者在平台追加赏金哦,平台是您利益的保证。你觉得当前的价格如何呢,奉上您珍贵的一票吧

虚高0人次 适中0人次 偏低0人次

分享海报会更快解决你的问题哦!分享海报

此处可发布评论

评论(0

暂无评论,快来写一下吧
客服QQ 1913284695