C++中的<<和>>

Jac*_*own 3 c++

可能重复:
C++中的<<和>>

我不太明白这意味着什么......我只是从我非常非常基本的Python体验中学习C++ ......所以这可能是一个非常愚蠢的问题.我的问题是......说你有经典的"Hello World"计划,你就有了这条线:

cout<<"Hello World!"<<endl;
Run Code Online (Sandbox Code Playgroud)

<< mean ...是什么...因为我只是在C中使用输入,看到你做了类似的事情:

int i;
cin>>i;
Run Code Online (Sandbox Code Playgroud)

而且我注意到它有>>而不是<<而且我已经读到那些是按位的变化......我并不完全明白那些是什么......但我认为这可能会有所不同......帮助...提前致谢

Cha*_*via 10

查找C++ 运算符重载. C++允许您重载某些运算符(例如算术运算符,如+,-*),以便为用户定义的类提供某些功能,例如:

Foo x = 100;
Foo y = 200;
x = x + y;
Run Code Online (Sandbox Code Playgroud)

内置的C++ IOstreams库旨在取代C stdio.h库函数printf.它使<<>>运算符重载分别表示"插入流"和"从流中提取".所以,说:

std::cout << "Hello world";

...将字符串"Hello World"插入标准输出流cout,该输出流通常与控制台输出相关联.IO Streams可用于向屏幕打印内容,将数据写入文件,将数据插入字符串缓冲区,以及可以扩展用于许多其他目的(套接字,管道等)


Car*_*rra 6

他们确实是有点转变.计算机中的数字以二进制形式表示.

示例:10 = 1010(8x1 + 4x0 + 2x1 + 1x0).

现在,一个班次只是将所有数字向右或向左移动.

Left shift:
10100 and that's (16x1 + 8x0 + 4x1 + 2x0 + 1x0) or 20. You multiplied by two!

Right shift:
101 (4x1 + 2x0 + 1x0) or 5. You divided by two!
Run Code Online (Sandbox Code Playgroud)

它实际上只是另一种除以2的方法.

现在,他们都习惯于以图形方式抽取数据.

数据来自您的输入,cin到i:

int i;
cin>>i;
Run Code Online (Sandbox Code Playgroud)

数据从"Hello world"到输出,cout:

cout<<"Hello World!"<<endl;
Run Code Online (Sandbox Code Playgroud)

  • 是的,它们有时是按位移位,但是使用`cin`和`cout`操作符它们肯定不是*. (4认同)