1

std :: ofstreamを使用したファイル共有モードに関するこのMSDNの記事では、Microsoftは次のように書いています。

filebuf::sh_readとモードを組み合わせるにはfilebuf::sh_write、論理OR(||)演算子を使用します。

私が見る限り、両方の定数はタイプであるため、ビット単位のOR()の代わりに論理intORを使用する必要がある理由がわかりません。論理ORはブール値を生成するといつも思っていたので、結果を解釈する方法はありませんか?|

4

1 に答える 1

1

ドキュメントエラーです。それ以降のバージョンでは、ドキュメントを再構築し、ビットマスクタイプの説明を次のページに委任しています。

ビットマスクタイプは、整数タイプまたは列挙型のいずれかとして実装できます。いずれの場合も、同じビットマスクタイプの値に対してビット単位の演算(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

わーい!MSDNナビゲーション用。また、VS2010のドキュメントが再び変更されまし最新のページではフラグフィールドのセマンティクスについても説明されていません(ただし、パラメータがビットマスクの組み合わせであることを示唆するために言及することができます)_Mode | ios_base::out

于 2011-11-27T18:26:20.197 に答える