Code Bye

实参中 位或 是什么作用

ofstream app(“file”, ofstream::out | ofstream::app)
第二个参数 位或是什么作用?
解决方案

5

例如二进制10代表写入,100代表移动到结尾。10 | 100 -> 110 就是两个都有了…

6

10

原因是这些打开模式的值都是1,2,4,8………
所以可以用或,只要某一位上是1就知道是或上了哪个模式
例如ofstream::out 是2
ofstream::app是8
或完以后是0000 1010
第二和第四位是1,就知道或上了out和app

5

引用:

那为什么会这样呢,是怎么实现的,这也是本人想问的意思,为什么用位或就会出现你说的那个效果?

你要了解位标,旗标的概念
这些功能点是用一个整型数表示的,没一个作用占用整型数的1位。
当这一位为1的时候就起作用,为0的时候就不起作用。
当需要组合功能的时候,就把表示两个功能的常量或以下,结果就是组合出来的功能标记。

2

VS IDE中,在不清楚的符号上点鼠标右键,选转到定义。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明实参中 位或 是什么作用