C# 中C++<<的等效项是什么?
What is the equivalent for << from C++ in C#?
我刚开始用C++进行编码,在一些示例代码中看到了这个符号:<lt
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++中,您可以重载大多数运算符,使它们对用户定义的类型执行任何您喜欢的操作。也许最常见的是,流的左移和右移运算符被重载,意思是"把这个东西塞进流中"(左移)或"从流中提取这种类型的变量"(右移)。
相关文章:
- 为不同配置设置MSVC_RUNTIME_LIBRARY的正确方法是什么
- C++避免重复声明的语法是什么
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 实现无开销push_back的最佳方法是什么
- C++从另一个类访问公共静态向量的正确方法是什么
- "throw expression code" 1e7 >返回 d 是什么?投掷标准::overflow_error( "too big" ) : d;意味 着?
- C++中名称篡改的目的是什么
- 在 c++ 中拥有一组结构的正确方法是什么?
- 这个指针和内存代码打印是什么?我不知道是打印垃圾还是如何打印我需要的值
- 是什么阻止DOMTimerCoordinator::NextID进入无休止的循环
- 派生类销毁的最佳实践是什么
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- 通过JNI传递数据数组的最快方法是什么
- "using namespace std;"在C++的作用是什么?
- 在两台机器之间进行时间戳的最佳c++chrono函数是什么
- 文件系统:复制功能的速度秘诀是什么
- 用常见虚拟函数实现的任意组合来实现派生类的正确方法是什么
- 使用QQuickFramebufferObject时同步数据的最佳方式是什么
- 是什么原因导致它无法编译?它是声明签名还是在函数本身的实现中
- 使用不同的CRT将新的C++代码与旧的(二进制)组件隔离开来的最佳方法是什么