代码以及说明如下,看来基础知识还是非常重要的,才能故发现出现的问题的原因。
int des;
/*
cout是右结合的,所以连写表达式先求右边的值,cout<<node->getInt(node,6,des)<<"des = "<<des<<endl;
故这种写法是错误的,因为他会先输出des,而des未初始化,故会报错。
如果按照报错初始化des后,则无论如何均会输出des = 0,折与我们的初衷相违背,分开写后问题得到了解决。如下:
*/
cout<<node->getInt(node,6,des)<<endl;
cout<<"des = "<<des<<endl;
本文通过一个具体的例子探讨了 C++ 中使用 cout 进行输出时可能出现的问题,特别是当涉及复杂对象输出及变量未初始化的情况。作者指出 cout 的右结合特性可能导致意外行为,并给出了解决方案。
3万+

被折叠的 条评论
为什么被折叠?



