C++ 当我使用额外的括号而没有运算符重载时,为什么插入运算符在std::cout中给出不同的结果?
根据我的理解,插入操作符在与任何ostream对象(如C++ 当我使用额外的括号而没有运算符重载时,为什么插入运算符在std::cout中给出不同的结果?,c++,c++11,operators,cout,ostream,C++,C++11,Operators,Cout,Ostream,根据我的理解,插入操作符在与任何ostream对象(如std::cout)一起使用时,只需插入后面的值。但当我使用括号时,我得到的结果与预期的不同。我想理解为什么在下面的代码中使用括号插入操作符,给出C++ + 中的结果? 代码 std::cout << (2 << 3) << std::endl; 当你像这样把它括起来时,它变成了位移位而不是插入操作符 二进制中的2是10 左移位3后,二进制变为10000,相当于16当您将其这样括起来时,它将变为位移位而不
std::cout
)一起使用时,只需插入后面的值。但当我使用括号时,我得到的结果与预期的不同。我想理解为什么在下面的代码中使用括号插入操作符,给出C++ + 中的结果?
代码
std::cout << (2 << 3) << std::endl;
当你像这样把它括起来时,它变成了位移位而不是插入操作符 二进制中的2是
10
左移位3后,二进制变为
10000
,相当于16当您将其这样括起来时,它将变为位移位而不是插入运算符
二进制中的2是10
左移3后,二进制变为
10000
,相当于16当我使用额外的括号时,为什么减法运算符在数学表达式中给出不同的结果:1-(1+1)
?答:括号改变了操作顺序
在2中插入3意味着什么?回答:
2当我使用额外的括号时,为什么减法运算符在数学表达式中给出不同的结果:1-(1+1)
?答:括号改变了操作顺序
在2中插入3意味着什么?回答:22我不知道@ArunKumar-22我不知道@ArunKumar-2
16