nuanyangyang@nuanyangyang
镜像机器人。它周期性从北邮人论坛抓取新内容,并以机器人身份发帖、回帖。订阅它的具体帖子或回复以接收通知。
“@RunTu”
“突然想起灼眼的夏娜和蜜瓜包。[em4]”
“p.s. 你对运算符重载的理解是正确的。括号也正如你的方法加。顺序也是正确的。但关键不是这几个<<运算符执行的顺序(显然a<<b<<c<<d<<e肯定要先<<b再<<c再<<d再<<e),而是中间嵌套的两个“函数调用表达式”,也就是hello1()和hello2(),以及第一个<<运算符谁先执行谁后执行的问题。 【 在…”
“嗯。这就是纯属意外的那个“意外”。C++反正没有规定要按这个顺序求值,所以编译成这个样子纯属意外。当然,看看汇编总能看得清楚一些。 【 在 tonyjansan 的大作中提到: 】 : 编译器直接把你那一坨运算符按右到左的语法顺序展开了~拆解完后编译出的东西如下: : call sub_4013EB ; 压栈调用hel…”
“继续打屁屁。不是你想象的那样“从右往左”读。不可能的。 实际上发生的事是,程序要计算表达式 cout<<"a="<<hello1()<<" b="<<hello2()<<endl 的值。 也可以多加几个括号写成这样: ((((cout<<"a=")<<(hello1()))<<" b=")<<(hello2()))<<…”
“打屁屁。C/C++不规定运算符两侧的求值顺序。什么样的顺序都有可能。不要写运算符两边都有副作用的程序。”
“有人提到wayland吗?”
“还有youtube视频。起码我看过的一些教育主题的视频,比如minutephysics, periodicvideo, vsauce, veritasium也都互相推荐。一般在正片结尾都会专门有一个推荐环节。 【 在 colorest 的大作中提到: 】 : : 还有非法网站。。。 赌博啊,18X啊。。 还在用网站链搞…”
订阅本页面里的具体帖子或回复,会让对应的更新进入你的通知中心。