bitset
可以看作是二進位制位的容器,並提供了位的相關操作函式。
常用函式
(1)構造、賦值函式
bitset
()bitset
(const
bitset
&) ;
拷貝建構函式
bitset
(unsignedlong
val) ;
由無符號長整形數構建位容器
bitset
(const
string&
str,size_t
pos= 0,
size_t
n = -1);
由字串建立位容器
bitset
&operator=(
const
bitset
&);賦值操作
(2)邏輯運算操作(與、或、非)
bitset
&operator&=(
const
bitset
&)bitset
&operator|=(
const
bitset
&)bitset
&operator^=(
const
bitset
&)bitset
&operator<<=(
size_t
)bitset
&operator>>=(
size_t
)bitset
operator<<(
size_t
n)const
bitset
operator>>(
size_t
n)const
bitset
operator&(
const
bitset
&,const
bitset
&)bitset
operator|(
const
bitset
&,const
bitset
&)bitset
operator^(
const
bitset
&,const
bitset
&)(3)
其他操作函式
string
tostring
() ;
位容器內容轉化成字串,方便顯示
size_t
size()
const
;返回位容器大小
size_t
count()
const
;返回設定
1位個數
bool
any()
const
;是否有位設定
1bool
none()
const
;是否沒有位設定
1bool
test(
size_t
n)const
;測試某位是否為
1 bool
operator(
size_t
n)const
;隨機訪問位元素
unsigned
long
to_ulong
()const
;若沒有溢位異常,返回無符號長整形數
bitset
&set() ;
位容器所有位置
1bitset
&flip() ;
位容器所有位翻轉
bitset
&reset() ;
位容器所有位置
0bitset
&set(
size_t
n,int
val= 1) ;
設定某位為1或
0,預設
1bitset
&reset(
size_t
n); ;
復位某位為
0bitset
flip(
size_tn);
;翻轉某位
定義位變數簡單示例
#include#include#includeusing namespace std;
int main()
(1)結合結果體會size()和count()函式區別,set無參、有參函式區別,以及可以用隨機訪問位容器的某一位。同時思考一下reset無
參、有參函式區別,flip無參、有參函式區別。
(2)當用長整形數建立位容器時,範圍應在[0,)範圍內,若位容器設定位數n不足以容納長整形數,則僅擷取假想已是二進位制數的低n
位。例如:bit<2>s4(13),由於13二進位制表示是1101,而容器僅兩位,從低位開始填充,位容器內容為01。
(3)當用字串建立位容器bitset(conststring&str,size_tpos= 0,size_tn = -1)含義是:從字串第pos位置字元開始,擷取n個字元填充
位容器,預設設定是填充全字串。但要注意字串只能包含「1」或「0」字元,不能有其它字元。如「10101」正確,而「12345」錯誤。
位操作函式簡單示例
#include #include #include using namespace std;
void main()
int getmonth()
long getattenddays()
};class student
void add(myattend<31>&m)
void show()
C STL之bitset位集合容器
bitset容器是乙個bit位元素的序列容器,每個元素只佔乙個bit位,取值為0或1,有節省記憶體空間,下面水泥bitset的儲存示意圖,它的19個元素只使用了兩個字元的空間。方法b.any b中是否存在置為1的二進位制位?b.none b中不存在置為1的二進位制位嗎?b.count b中置為1的二...
C STL通用容器 之 對映
常用的對映類是 map,multimap 各個容器中,僅儲存著一樣東西,但是在對映中將會得到兩樣東西 關鍵字以及作為對關鍵字進行查詢得到的結果值,即一對值。map單對映中key與value是一對一的關係,multimap多對映中key與value可以是一對多的關係。1 建構函式 map constp...
c STL容器之map容器
1.map中所有的元素都是pair 2.pair元素中第乙個元素為key,第二個元素為value 3.所有元素都會根據鍵值自動排序 4.map中不允許有重複的鍵,multimap中允許有重複的鍵 優點 可以根據key快速的找到value 一 建構函式 mapmp map const map mp 二...