社区
C++ 语言
帖子详情
关于this指针!!
xuyueyanghunan
2009-07-28 09:49:42
为什么在const成员函数中,this指针是指向const类型的指针???
大家能解释一下吗?
...全文
135
10
打赏
收藏
关于this指针!!
为什么在const成员函数中,this指针是指向const类型的指针??? 大家能解释一下吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xuyueyanghunan
2009-07-28
打赏
举报
回复
谢谢理解了!!
ljt3969636
2009-07-28
打赏
举报
回复
这么想一个const修饰普通的变量,干什么不想变量被修改吧?再想想,const变量为什么只能被const指针指,而不能被非const指针指?因为非const指针可以修改指向的对象而我们这个const变量恰恰不想由于变量被非const指而被通过非const指针修改吧?
那么const函数的目的是什么呢?const函数的这种目和const this,不像普通的const变量和指向const的指针的关系吗?这样很容易理解啊~!
xuyueyanghunan
2009-07-28
打赏
举报
回复
struct test
{
int * p;
。。。
void func()const {*p = 1;}
};
规定真的有足够理由么,真的需要足够理由么,还是规定只需要当作一个规定。
谢谢,觉悟了!!
taodm
2009-07-28
打赏
举报
回复
struct test
{
int * p;
。。。
void func()const {*p = 1;}
};
规定真的有足够理由么,真的需要足够理由么,还是规定只需要当作一个规定。
herman~~
2009-07-28
打赏
举报
回复
标准规定的东东 假设不是const类型的指针,那么定义const void fun();
fun可以随意修改成员函数,也就失去了意义
xuyueyanghunan
2009-07-28
打赏
举报
回复
规定也要有个理由啊!
xuyueyanghunan
2009-07-28
打赏
举报
回复
我也在看C++primer,但是不明白这一点!!
illuminati
2009-07-28
打赏
举报
回复
首先推荐你看一下C++primer,讲的很详细
因为在const成员函数中,不能改变对象
在普通的非 const 成员函数中,this 的类型是一个指向类类型的 const 指针。可以改变 this 所指向的值,但不能改变 this 所保存的地址。在 const 成员函数中,this 的类型是一个指向 const 类类型对象的 const 指针。既不能改变 this 所指向的对象,也不能改变 this 所保存的地址。
taodm
2009-07-28
打赏
举报
回复
规定。
guoxingnuli
2009-07-28
打赏
举报
回复
说的好
震惊!struct中竟然也有this
指针
!
今天我也冒充一下标题党。呵呵。 用g++编译代码时,struct中也有this
指针
。 我的g++版本:g++ (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4 以下代码只可用g++编译,不可以用gcc编译。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include<stdio.h>...
C++ this
指针
this
指针
引言: 首先,我们都知道类的成员函数可以访问类的数据(限定符只是限定于类外的一些操作,类内的一切对于成员函数来说都是透明的),那么成员函数如何知道哪个对象的数据成员要被操作呢,原因在于每个对象都拥有一个
指针
:this
指针
,通过this
指针
来访问自己的地址。 注意: this
指针
并不是对象的一部分,this
指针
所占的内存大小是不会反应在sizeof操作符上的。this
指针
的类型取决于...
C++中关于this
指针
的理解
关于this
指针
的解析,N多年前我就知道this
指针
!我也看了很多关于this
指针
的解释和解析!以前我以为我懂了!因为我去网上收索了下,发现都讲的是那同样的一句话!this
指针
是为了区别一个类定义的两个或是多个对象,在编译器编译过程中!自动加入的!我看了也以为我懂了!呵呵!其实是我受骗了!因为很多人应该都没明白为什么要有this
指针
吧! 我在看这本书的过程中发现了,原来this
指针
就是一
【C++】this
指针
原理
this
指针
this
指针
概念this
指针
工作原理this
指针
的使用空
指针
访问成员函数常函数与常对象(const修饰的函数与对象) this
指针
概念 概念引出 c++的数据和操作也是分开存储,并且每一个非内联成员函数(non-inline member function)只会诞生一份函数实例,也就是说多个同类型的对象会共用一块代码,c++通过提供特殊的对象
指针
(this
指针
)区分调用的对象,this
指针
指向被调用的成员函数所属的对象。 this
指针
概念 c++规定,this
指针
是隐含在对象成员函数内(
C++-------什么是this
指针
?this
指针
详解
1. this 是一个
指针
,里面放置的是当前对象的地址(成员函数执行时,调用该成员函数的对象) this
指针
是类“成员函数”第一个隐藏的参数,该
指针
指向调用成员函数的对象(当前对象) 2. this
指针
的特性 (1) 只能在成员函数中使用 (2) this
指针
的类型:类类型* const (3) this
指针
没有存储在对象中,因此不会影响对象的大小,而是在成员函数运行时,时时刻刻指向当前对象 (4) this
指针
是“成员函数”第一个隐藏的参数,“隐藏的”—用户在实现成员函数时,不用显式给出,该参数是编
C++ 语言
64,282
社区成员
250,470
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章