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