boost ::: dynamic_bitset、またはstd :: vectorが内部的に何をするのか苦労しています。私は最終的にやりたいことは、ネットワークのフレームを構成し、ソケットを介して、それを送って、私はちょうど私が組み立てたビット順を保つ方法でそれらを変換することはできませんが...boost :: dynamic_bitsetはどのようにビットを格納するのですか
#include <iostream>
#include<stdio.h>
#include "boost/dynamic_bitset.hpp"
int main()
{
boost::dynamic_bitset<> b(8, 10); // 8 Bits, value 10
std::cout << "b = " << b << std::endl; // as expected
printf("Vector size: %i\n", b.size());
printf("Bits: %d", b); // ?
return 0;
}
私はクラスが過負荷にすることを理解します< <ストリーム演算子なので、正しい出力が得られますが、printfは生の構造を示すようです。いなくても、確定私に表示されます(繰り返しの下に再コンパイルせずに同じ.exeファイルを実行):
私の質問:
- ボンネットの下に基本的にはどうなりますか?どうやら、配列に匹敵するのは全く ではありません。
- ソケット経由でこのようなビットセットを送信するにはどうすればいいですか send()?
'int'型ではないオブジェクトを' printf'の '%d'指定子に渡すことは、未定義の動作です。 – aschepler