cout<<b==&b[0]<<endl;为什么输出不了 而cout<<(b==&b[0])<<endl;可以?
1 回答
onemoo
TA贡献883条经验 获得超454个赞
一般这种复合表达式出问题涉及括号的,你就优先考虑下运算符优先级的事。
事实上, << 运算符的优先级要高于 == 运算符,所以
cout<<b==&b[0]<<endl
实际上是:
(cout << b) == (&b[0] << endl)
那么 &b[0] << endl 这里的 << 就是移位运算符,然而它的操作数不能是指针类型,所以会在此报错。
- 1 回答
- 0 关注
- 816 浏览
添加回答
举报
0/150
提交
取消
