程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++ bitset的實現

C++ bitset的實現

編輯:C++入門知識

C++ bitset的實現


C++中bitset很方便的實現了位操作,有幾點需要注意,可以參考源代碼:

https://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.2/bitset-source.html

 

它的模板是

 

00645   template
00646     class bitset
00647     : private _Base_bitset<_GLIBCXX_BITSET_WORDS(_Nb)>

 

size_t 是在編譯時候就已經得到了,然後將_Nb除上每個大小得到_Nw,_Nw即為模板泛化得到的首地址:

 

00077   template
00078     struct _Base_bitset
00079     {
00080       typedef unsigned long _WordT;
00081 
00082       /// 0 is the least significant word.
00083       _WordT        _M_w[_Nw];

因此,bitset不需要像vector一樣存一個首地址。。。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved