注册 登录
编程论坛 C++教室

请问一下,类里*this表示什么?

重楼飞雪 发布于 2009-07-16 22:25, 1010 次点击
Screen& Screen::set(char c)
{
    contents[cursor] = c;
    return *this;
}

比如上面这一段.返回的是contents[cursor]吗?刚开始接触c++,不太清楚.谢谢.
10 回复
#2
随心2009-07-16 22:35
看看书,this指针..
#3
edward90922009-07-16 23:51
回复 楼主 重楼飞雪
返回*this 也就是你正在进行操作的类。
#4
niuyufeng2009-07-17 07:36
*this 返回当前类的实例, 返回值的目的是为了方便写串式代码 ,返回的是一个左值? 新手 不知道应该怎么描述 请老手指点
#5
重楼飞雪2009-07-17 14:01
谢谢各位,我知道是当前的类.也就是当前的对象,只是不明白为类里那么多的变量,他返回的为什么会是一个值?
#6
pangding2009-07-18 12:25
回复 5楼 重楼飞雪
它返回的其实是当前的调用这个函数的对象。只返回了一个类对象,这么想是不是容易理解一点?
#7
y_afu2009-07-18 17:23
将返回这个类对象看做结构来理解,相当于一个变量。这里返回的是类对象的引用。
#8
明次2009-07-18 19:59
一种特殊的指针
#9
重楼飞雪2009-07-18 21:17
明白了.才开始学,有些地方不太理解.感谢大家的帮助.
#10
hypeboyz2009-07-19 16:39
类里面不同对象的数据是占据不同的内存空间,而同一类的对象的函数则占据相同的内存空间,this指针指向的就是你当前操作的这个函数,看老谭的书就知道了
#11
flybirdslc2009-07-28 11:42
返回的是当前类的指针
1