打印

函数返回问题

[复制链接]
905|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xsgy123|  楼主 | 2013-6-29 21:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如下代码:
#include <iostream>
using namespace std;

class CStudent
{
public:
    static int noOfStudents;
    CStudent& nextStudent()
    {
        noOfStudents ++;
        return *this;
    }
};


int CStudent::noOfStudents = 0;

void fn(CStudent& s)
{
    cout << s.nextStudent().noOfStudents << endl;
}

void main()
{
    CStudent ss;
    fn(ss);
}
我想知道:
CStudent& nextStudent()
{
    noOfStudents ++;
    return *this;
}
返回对象引用的函数一般用在什么地方?它有什么作用?

相关帖子

沙发
火箭球迷| | 2013-6-29 21:54 | 只看该作者
你不是自己都示例了吗
支持链式语句啊

另外,像容器返回包含的数据也要用到返回引用

使用特权

评论回复
板凳
yybj| | 2013-6-29 22:11 | 只看该作者
设置属性 类似于 obj.SetA().SetB()....

使用特权

评论回复
地板
无冕之王| | 2013-6-29 22:14 | 只看该作者
1)大对象,节约空间。
2)函数连续调用,节约代码。
3)返回一个左值,可以用来修改 *this 对象,或者可以用来修改函数参数。
4)不用考虑空引用,比指针有效率。

使用特权

评论回复
5
baidudz| | 2013-6-30 12:37 | 只看该作者
无冕之王 发表于 2013-6-29 22:14
1)大对象,节约空间。
2)函数连续调用,节约代码。
3)返回一个左值,可以用来修改 *this 对象,或者可以 ...

分析的很全面

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

229

主题

2603

帖子

1

粉丝