将移位操作符用于IO
来源:互联网 发布:中国知名人工智能专家 编辑:程序博客网 时间:2024/05/16 19:55
输入输出标准库(IO library)分别重载了位操作符>>和<<用于输入和输出.即使很多程序员从未直接使用过位操作符,但是相当多的程序都大量用到这些操作符在IO标准库中的重载版本.重载的操作符与该操作符的内置类型版本有相同的优先级和结合性.因此,即使程序员从不使用这些操作符的内置含义来实现移位操作,但是还是应该先了解这些操作符的优先级和结合性.
IO操作符为左结合
像其他二元操作符一样,移位操作符也是左结合的.这类操作符从左向右地结合,正好说明了程序员为什么可以把多个输入或输出操作连接为单个语句:
cout<<"hi"<<"there"<<endl;
执行为:
((cout<<"hi")<<"there")<<endl;
在这个语句中,操作数"hi"与第一个<<符号结合,其计算结果与第二个<<符号结合,第二个<<符号操作后,其结果再与第三个<<符号结合.
移位操作符具有中等优先级:其优先级比算术操作符低,但比关系操作符、赋值操作符和条件操作符优先级高.若IO表达式的操作数包含了比IO操作符优先级低的操作符,相关的优先级别将影响书写该表达式的方法.通常需使用圆括号强制先实现右结合:
cout<<42+10; //ok,+ has higher precedence,so the sum is printed
cout<<(10<42); //ok:parentheses force intended grouping:prints 1
cout<<10<42; //error:attempt to compare cout to 42!
第三个cout语句解释为:
(cout<<10)<42;
该表达式说"将10写到cout,然后用此操作(也就是cout)的结果与42作比较.
- 将移位操作符用于IO
- 移位操作符
- 移位操作符
- js 移位操作符
- 移位操作符
- Java移位操作符
- java移位操作符
- 移位操作符
- 移位操作符
- Java移位操作符
- 移位操作符
- java移位操作符
- Java移位操作符
- Java | 移位操作符
- 移位操作符的优先级
- Java中的移位操作符
- 移位操作符的妙用
- Java中的移位操作符
- javascript实用代码大全
- XSL中几个封装的函数
- 安装程序打包的时候,怎么象petshop一样,把数据库也打到里边
- 在XSL中得到任意节点在DOM树中的深度
- IOMMU概念,优点,缺点
- 将移位操作符用于IO
- Design Patterns学习笔记:Decorator装饰模式
- XP配置IIS+ASP详解(新手本机调试ASP必读)
- ultrachart的使用(一):从数据库中提取数据
- 安装vsftp
- 图像在网络中的传输
- 图像序列化
- 如何在XSL中得到某节点到根节点的全路径的所有节点?
- 一个应用程序通信的问题---SQL 触发器