我的编程工作线从未真正引导我进入bithift领域,这就是我认为这里正在发生的事情。任何人都可以解释这里想要完成的事情吗?它看起来像一个简单的方法来完成一个简单的(数字* 10)
int number = 12;
std::stringstream str;
str << number << '0';
str >> number;
但为什么要改变位移?
答案 0 :(得分:2)
标准库的IO流接口使用移位运算符来输出和输入流 - 这实际上与位移不同 - 通过重载这些运算符。
这是一种操作员过载的情况,他们做的事与完全不同。这通常被认为不是一种好的做法,但这很久以前就已经被认为是“C ++的一部分”,它甚至比成语更加根深蒂固。