我们如何允许将插入操作符和其他操作符链接在一起?
我试图理解C中的基础过程,它允许我们在C中形成以下表达式:
cout << "Hello," << "World" << a + b; 根据我的理解,首先,插入运算符将ostream对象cout和字符串文字“Hello”作为操作数,表达式返回一个cout类型,因此cout现在是下一个字符串文字的类型,最后也是类型表达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. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |