使用逻辑OR ||组合两个整数
Use logical OR || to combine two integers?
在这篇关于std::ofstream文件共享模式的MSDN文章中,微软写道:
如果要组合
filebuf::sh_read
和filebuf::sh_write
模式,请使用逻辑或(||
)运算符。
两个常量都是int
类型,据我所见,所以我不明白为什么我们应该使用逻辑 OR而不是位或(|
)。我一直认为逻辑或产生一个布尔值,所以没有办法解释结果?
这是文档错误。在以后的版本中,他们重新构造了文档,将位掩码类型的解释委托给以下页面:
位掩码类型既可以实现为整数类型,也可以实现为枚举类型。在这两种情况下,您都可以对相同位掩码类型的值执行按位操作(如AND和OR)。位掩码类型的元素A和B是非零值,使得A &B是0
通过
到达那里- 谷歌
- http://msdn.microsoft.com/en-us/library/5785s5ts (v = vs.71) . aspx
- http://msdn.microsoft.com/en-us/library/7z434859 (v = vs.71) . aspx
- http://msdn.microsoft.com/en-us/library/t60aakye (v = VS.71) . aspx
- http://msdn.microsoft.com/en-us/library/y1et11xw (v = VS.71) . aspx
- http://msdn.microsoft.com/en-us/library/5kb732k7 (v = VS.71) . aspx
耶!用于MSDN导航。此外,VS2010的文档又被修改了:最新的页面甚至不再描述标志字段的语义了(尽管如此,你可以用一个提到_Mode | ios_base::out
的来暗示参数是位掩码组合)
相关文章:
- C++需要帮助从用户那里获得一个整数,并确保它在另外两个整数之间
- 比较C++中两个整数的最有效和最干净的方法是什么?
- 如何将字符串和整数读取到两个单独的动态数组中的程序编写?
- 为什么将两个浮点数相加会得到一个整数C++?
- 从两个 4x64 位整数数组中获取取模
- 为什么 Clang 和 GCC 中两个无符号整数之和的结果类型不同
- 比较两个整数在C++中与未知 int 类型的相等性
- 创建整数的 2D 数组,该数组将使用两个函数用随机数填充矩阵.我做错了什么?
- 如何组合两个整数向量
- 在两个整数之间交换最右边的N位
- 打印出两个整数之间的偶数
- 为什么将两个总和为 32k >整数相加时得到负数?
- C++ 两个线程,共享几个整数变量
- Python 等效代码,可像C++一样直接附加两个整数
- 是否有任何内置函数可以检查给定的两个数字在给定整数数组中的顺序是否相同?
- 移位运算符如何在查找两个整数中的不同位数?
- 如何安全地比较两个无符号整数计数器?
- 添加两个二进制数(整数数组)
- 运算符"|"如何计算两个整数?
- 如何找出在两个整数的乘积中设置了多少位(等于 1)