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

时间:2014-09-11 07:11:01

标签: c# c++

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

2 个答案:

答案 0 :(得分:4)

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

这取决于背景;该运算符通常重载表示不同类型的不同内容。

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

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

通常,左移N位相当于乘以2 N (所以这里,移位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#使用普通方法调用而不是重载操作符。

答案 1 :(得分:2)

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

但是,在C ++中,您可以重载大多数运算符,使它们为用户定义的类型执行任何您喜欢的操作。也许最常见的是,左移和右移运算符被重载为流意味着“将此东西填充到该流中”(左移)或“从该流中提取此类型的变量”(右移)。 / p>