加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 返回void或引用self?

发布时间:2020-12-16 10:03:13 所属栏目:百科 来源:网络整理
导读:鉴于以下课程: struct Object { int x,y; void addtoall( int value ){ x += value; y += value; }; Object addtoall( int value ){ x += value; y += value; return *this; };}; 两个成员函数有什么区别? 我知道一些运算符重载需要返回对self的引用(例如
鉴于以下课程:

struct Object {
    int x,y;
    void addtoall( int value ){ x += value; y += value; };
    Object& addtoall( int value ){ x += value; y += value; return *this; };
};

两个成员函数有什么区别?

我知道一些运算符重载需要返回对self的引用(例如:operator =),但是不包括运算符重载,是否有必要?如果不是,您何时需要或需要将引用返回给self而不是返回void?

如果这可以通过google-fu找到,或者是一个非常基本的问题,我很抱歉,但我不确定究竟要搜索什么(而不是缺乏尝试).

解决方法

What is the difference between the two member functions?

返回对实例的引用的函数可以在调用时链接

Object o;
o.addtoall(5).addtoall(6).addtoall(7);

如果这有用取决于实际用例,但它通常用于开发所谓的域特定语言语法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读