問題タブ [boost-dynamic-bitset]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
96 参照

c++ - プロキシ参照を持つクラスの非 const ゲッター関数を作成する方法は?

特に、boost::dynamic_bitset の周りにいくつかのラッパー関数を作成しようとしています。追加のクラスを作成することなく、よりコンパクトなソリューションを望んでいますが、非配列要素の添字演算子のオーバーロードという同様の質問があります。関連するスニペット:

MSVC13_64 ではエラーは発生しませんが、テストすると非常に奇妙な動作が発生しますが、MinGW492_32 では次のようなエラーが発生します。

C:\repositories\..\logic\game_prim.h:78: エラー: タイプ 'boost::dynamic_bitset<> の右辺値からのタイプ 'boost::dynamic_bitset<>::reference&' の非 const 参照の無効な初期化::reference' BitWorld::reference& operator[](int index) { return grid.world[index]; } ^

彼らがプロキシ参照の変更操作を非常に重要なものにした理由がわかりません。単純なキャストも機能しません。const_cast は右辺値と左辺値の参照の間で変換できず、static_cast でもあまり成功しませんでした。

0 投票する
1 に答える
1181 参照

c++ - boost::dynamic_bitset はビットをどのように格納しますか

boost:::dynamic_bitset または std::vector が内部で何をしているのか理解するのに苦労しています。私が最終的にやりたいことは、ネットワークフレームを作成してソケット経由で送信することですが、組み立てたビット順序を維持する方法でそれらを変換することはできません...

クラスが << ストリーム演算子をオーバーロードしたことを理解しています。したがって、正しい出力が得られますが、printf は生の構造を示しているようです。私には決定論的でさえないようです(以下では、再コンパイルせずに同じ.exeを繰り返し実行しました):

コマンド

私の質問:

  1. ボンネットの下で基本的に何が起こるのでしょうか? どうやらそれは配列に匹敵するものではありません。
  2. ソケット send() 経由でそのようなビットセットを送信するにはどうすればよいですか?