我很難理解什麼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