の非常に基本的な実装を見てみましょうBitset
。
struct Bitset {
bool mask[32];
bool& operator[] (int index) {
return mask[index];
}
};
今、私は書くことができます
Bitset bitset;
bitset[0] = 1;
std::cout << bitset[0] << "\n";
可能な最適化があります。unsigned int
の代わりに使用できますbool mask[32]
。
struct Bitset {
unsigned int mask;
bool& operator[] (int index) {
// ??
}
};
bool& operator[] (int index)
そのような仕様で書くことは可能ですか?そんなことをしていると思いますが、どうしたらいいstd::bitset
のかわかりません。