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

可以用變量指定大小的Bits對象實現

編輯:C++入門知識

c++的容器中有位對象bitset,但是個人認為最大的問題是定義是必須指定常數大小,比如

bitset<3> bit;

 無法實現

int n = 3;

bitset<n> bit;

所以我自己查了一些資料,實現了能用變量定義的Bits

class Bits
{
public:
Bits(int numOfBits);
virtual ~Bits();
bool Set(int arg);
bool Clr(int arg);
bool Test(int arg);

class BitsProxy
{

。。。。。

};

const BitsProxy operator[](int index) const;
BitsProxy operator[](int index);

friend class BitsProxy;


protected:
private:
int *m_pBits;
static int mask;
int numOfBits;

};

既可以讀取也可以賦值相應位的值。比如:

std::cout<<bit[3]<<std::endl;//bit是一個Bits對象 

bit[3] = 1;

完整代碼在https://github.com/qingzew/Bits

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