18/09/04 00:37:21.78 f5HJ/2BD0.net
>>195
> 異なるスレッドから集中してビットをオンしまくる、ということをして矛盾が発生することはありますか?
矛盾というのがどういう状況を想定しているのかわからないけど、
言語仕様上はデータ競合が起こりうると解釈できる場面だと思う。
要するに未定義動作に突入する可能性がある。
mutex でロックすることで簡単に回避は出来るが速度を考えるならば
操作するデータが atomic であるようにデザインするとなんとかなるかも?
> biset や vector<bool> というのは、一つの物理バイトに対して複数の bool を詰め込んだ作りとして実装されているのでしょうか?
される。
> bitset[index] = boolean,
> とか
> vector[index] = boolean
> (operator[] が「bool の参照」?を返す、みたいな感じ) は実際にはどのように記述されているのでしょうか?
「1 ビットを表す型」のオブジェクトを返すことで対応する。
そのせいで、 std::vector<bool> は bool 以外を格納する std::vector よりも出来ることに若干の制約がある。