不确定这个bitshift试图完成什么

时间:2014-04-07 18:08:27

标签: c++

我的编程工作线从未真正引导我进入bithift领域,这就是我认为这里正在发生的事情。任何人都可以解释这里想要完成的事情吗?它看起来像一个简单的方法来完成一个简单的(数字* 10)

int number = 12;

std::stringstream str;

str << number << '0';

str >> number;

但为什么要改变位移?

1 个答案:

答案 0 :(得分:2)

标准库的IO流接口使用移位运算符来输出和输入流 - 这实际上与位移不同 - 通过重载这些运算符。

这是一种操作员过载的情况,他们做的事与完全不同。这通常被认为不是一种好的做法,但这很久以前就已经被认为是“C ++的一部分”,它甚至比成语更加根深蒂固。