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

我们如何允许将插入操作符和其他操作符链接在一起?

发布时间:2020-12-16 10:09:08 所属栏目:百科 来源:网络整理
导读:我试图理解C中的基础过程,它允许我们在C中形成以下表达式: cout "Hello," "World" a + b; 根据我的理解,首先,插入运算符将ostream对象cout和字符串文字“Hello”作为操作数,表达式返回一个cout类型,因此cout现在是下一个字符串文字的类型,最后也是类型表达a
我试图理解C中的基础过程,它允许我们在C中形成以下表达式:

cout << "Hello," << "World" << a + b;

根据我的理解,首先,插入运算符将ostream对象cout和字符串文字“Hello”作为操作数,表达式返回一个cout类型,因此cout现在是下一个字符串文字的类型,最后也是类型表达a b.

我无法理解这个过程的技术细节,我理解参与是否允许我们这样做?

解决方法

From my understanding,first,the insertion operator takes the ostream object cout and the string literal “Hello” as operands and the expression returns a type of cout…

目前很好…

and thus cout is now the type of the next string literal and finally also the type of the expression a + b.

我不确定你在这里想说什么.如果根据优先级对运算符进行分组,它可能会有所帮助:

(((cout << "Hello,") << "World") << (a + b));

第一次运算符<<如你所说,它的参数是cout和“Hello”.这会让cout回归.然后,第二次,参数是cout(前一个的结果)和“World”.然后,第三次,参数是cout和b的结果. 也许它将有助于进一步使用(技术上不正确,参见@DavidRodríguez-dribeas的注释)函数调用语法重写代码:

operator<<(operator<<(operator<<(cout,"Hello,"),"World"),a + b);

因为每次运算符<<被称为返回cout,每个调用的第一个参数将是cout.

(编辑:李大同)

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

    推荐文章
      热点阅读