C++ Primer 讀書筆記 – 第三章

來源:互聯網
上載者:User

 第3章 標準庫類型

⒊⒌ 標準庫bitset類型
[以下下標和位元均為 size_t 型(定義在標頭檔 cstddef 中,
unsigned 整型)]

⒈ bitset 是一種類模板,用於儲存位集,並提供測位和置位操作
⒉ 定義和初始化
bitset 在定義時需要以常量運算式的形式提供位元N
初始化時參數提供位元不足則剩餘高階位置為0,位元過多則拋棄多餘高階位
⑴ bitset<N> b;
預設建構函式置各位為0
⑵ bitset<N> b( unsigned
long u );
使用 unsigned
long 值u的二進位形式初始化
⑶ bitset<N> b( string s, size_t pos=0 );
bitset<N> b( string s, size_t pos,
size_t m );
使用 string 對象s或其(下標pos起到結尾或長度為m的)子串初始化
(子)串最右端對應低階(low-order)位,向左依次類推
⒊ 操作
除支援所有內建位元運算符以及==和!=外,還支援以下操作:
⑴ 訪問整個 bitset 對象
bool any();
返回是否各位不全為0
bool none();
返回是否各位全為0
size_t count();
返回為1的位的個數
size_t size();
返回能容納的位元
⑵ 訪問 bitset 對象中的位
(從低階位起,各位編號依次為 0,
1, 2, 3 …)
① 下標操作符[]返回指定位的引用
bool test(
size_t pos );
返回指定位的值
③ bitset<N>& set( size_t pos,
int val=1 );
設定指定位的值並返回對象的引用
④ bitset<N>& reset( size_t pos );
清零指定位並返回對象的引用
⑤ bitset<N>& flip( size_t pos );
取反特定位並返回對象的引用
也可以b[pos].flip(),返回指定位的引用
⑶ 設定整個 bitset 對象
① bitset<N>& set();
置所有位為1並返回對象的引用
② bitset<N>& reset();
清零所有位並返回對象的引用
③ bitset<N>& flip();
取反所有位並返回對象的引用
⑷ 擷取 bitset 對象的值
unsigned
long to_ulong();
返回位元模式相同的 unsigned
long
若越界則產生運行時異常
② string to_string();
返回字串形式
③ 可使用輸出操作符列印 bitset 對象

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.