使用逻辑OR ||结合两个整数?

时间:2011-11-27 18:11:05

标签: c++ logical-operators ofstream bitwise-or

this MSDN article on file sharing mode with std::ofstream中,Microsoft写道:

  

要合并filebuf::sh_readfilebuf::sh_write模式,请使用逻辑OR(||)运算符。

据我所知,两个常量都是int类型,所以我不明白为什么我们应该使用逻辑 OR而不是按位OR({{1 }})。我一直认为逻辑OR产生一个布尔值,所以无法解释结果?

1 个答案:

答案 0 :(得分:1)

这是文档错误。在更高版本中,他们重新构建了文档,将位掩码类型的解释委派给the following page

  

位掩码类型可以实现为整数类型或枚举。在任何一种情况下,您都可以对相同位掩码类型的值执行按位运算(例如AND和OR)。位掩码类型的元素A和B是非零值,使得A& B为零。

通过

到达那里
  1. 谷歌
  2. http://msdn.microsoft.com/en-us/library/5785s5ts(v=vs.71).aspx
  3. http://msdn.microsoft.com/en-us/library/7z434859(v=vs.71).aspx
  4. http://msdn.microsoft.com/en-us/library/t60aakye(v=VS.71).aspx
  5. http://msdn.microsoft.com/en-us/library/y1et11xw(v=VS.71).aspx
  6. http://msdn.microsoft.com/en-us/library/5kb732k7(v=VS.71).aspx
  7. 耶!用于MSDN导航。此外,VS2010文档已被再次更改the newest page甚至不再描述flags字段的语义(尽管如此,您可以采用{em>提及的{ {1}}暗示params是位掩码组合)