STL用法介紹

2021-06-28 09:47:25 字數 1469 閱讀 3793

參考:

模板:

template class bitset;

n指定了容器大小, 因為bitset是大小固定的容器。

建構函式:

預設建構函式用0填充,在使用引數構造時沒有被初始化到的位也用0填充。

bitset採用小端模式, 構造的時候從低位開始構造, 輸出的時候從高位開始輸出

(1)

bitset (unsigned long val);// 直接使用整數的二進位制表示

bitset<8> foo(0x0f);

rep(i, 0, 8-1)

cout << i << ": " << foo[i] << endl;

cout << "foo: " << foo << endl;

(2)

bitset (str) // 用字串構造, 最後乙個字元是最低位, 第乙個字元是最高位

bitset (str, pos) // 指定從某個位置開始, 注意是 1 - n, 不是0 - n-1

注意:字串用來初始化的時候是從後到前。

bitset<8> bar("00001111");

rep(i, 0, 8-1)

cout << i << ": " << bar[i] << endl;

cout << "bar: " << bar << endl;

使用:operator    獲取第n個bit

count           返回1的個數

size              返回集合大小

test              測試某一位是否是1

set               將乙個bit設為1

reset           將乙個bit設為0

flip               翻轉該bit的值

型別轉換

to_string

to_ulong

to_ullong

c++中沒有基本型別來儲存乙個bit, 但是可以用 bool 或者 bitset中定義的reference型別來儲存 操作符獲取的bit。

當只獲取值時(const qualified), 用bool就行了。

想要修改,則使用reference型別

bitset<8> foo(0x0f); // 00001111

foo[2]=f[7] // 00001011

bitset<8>::reference bit = foo[0];

bit = 0; // 00001010

cout << "foo: " << foo << endl;

STL 介紹 用法

一.標準c 庫字串類std string的用法 include std string s1 std string s3 s2 std string s2 this is a string begin 得到指向字串開頭的iterator end 得到指向字串結尾的iterator rbegin 得到指...

STL中map的用法簡單介紹

一 map的插入,有三種方法 mapmapstudent 1 mapstudent.insert map value type keys,value 2 mapstudent.insert pair keys,value 3 mapstudent 1 value 1 map value type k...

STL容器用法與介紹之vector

a vector是乙個封裝了動態大小陣列的順序容器,並支援反轉 b vector是在堆上分配記憶體,並在記憶體中具有連續的儲存空間,它提供了自動記憶體管理功能,隨著元素的增加或刪除,記憶體會同步進行增大或縮小 c 訪問vector中的元素可以通過元素下標實現隨機訪問,也可以通過迭代器實現順序訪問 d...