Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 当我使用额外的括号而没有运算符重载时,为什么插入运算符在std::cout中给出不同的结果?_C++_C++11_Operators_Cout_Ostream - Fatal编程技术网

C++ 当我使用额外的括号而没有运算符重载时,为什么插入运算符在std::cout中给出不同的结果?

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当您将其这样括起来时,它将变为位移位而不

根据我的理解,插入操作符在与任何ostream对象(如
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意味着什么?回答:
2
2我不知道
@ArunKumar-
2
2我不知道
@ArunKumar-
2
16