<<;来自C#中的C++

本文关键字:lt 中的 C++ 来自 | 更新日期: 2023-09-27 18:21:24

我刚开始用C++进行编码,在一些示例代码中看到了这个符号:<lt
C#中有一个等价吗?如果是,它是什么?提前谢谢。

<<;来自C#中的C++

免责声明:我对C#一无所知;这个答案只是描述C++中的运算符。

这取决于环境;该运算符经常被重载,以表示不同类型的不同含义。

对于整数类型,它是逐位左移运算符;它取一个值的位模式,并将其向左移动,将零插入低有效位:

unsigned x = 6;       // decimal  6, binary 00110
unsigned y = x << 2;  // decimal 24, binary 11000

一般来说,左移N位等于乘2N(所以这里,移位2位等于乘4)。

我可以肯定,运算符在C#中的使用与在C++中的相同。

标准库重载运算符,以便将值插入输出流,以便在控制台上、文件中或以其他方式生成格式化输出。

#include <iostream> // declare standard input/output streams
std::cout << 42 << std::endl;   // print 42 to the console, end the line, and flush.

我认为C#有一个TextWriter或类似的东西来处理格式化的输出,Console.Out或类似于std::cout的东西;但是C#使用普通的方法调用,而不是重载运算符。

operator<<在C++中的含义与在C#中的含义完全相同;它是左移位运算符,并将数字1位中的所有位向左移动。

但是,在C++中,您可以重载大多数运算符,使它们对用户定义的类型执行任何您喜欢的操作。也许最常见的是,流的左移和右移运算符被重载,意思是"把这个东西塞进流中"(左移)或"从流中提取这种类型的变量"(右移)。