根据我的理解,当与任何 ostream 对象(如 std::cout
)一起使用时,插入运算符将简单地插入后面的值。但是当我使用括号时,我得到的结果与预期的不同。我试图理解为什么在下面显示的代码中使用带括号的插入运算符会在 C++ 中给出以下结果?
代码
std::cout << (2 << 3) << std::endl;
结果
16
最佳答案
当你像那样把它括起来时,它变成了位移位而不是插入运算符。
二进制中的 2 是 10
左移 3 后,二进制变为 10000
相当于 16
关于c++ - 为什么当我使用没有运算符重载的额外括号时,插入运算符会在 std::cout 中给出不同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56844714/