vector<bool>::reference 类是 vector<bool> 类 为模拟 bool& 而提供的一种代理类。
注解
必须使用模拟引用,因为 C++ 不允许直接引用位。 vector<bool> 每个元素只使用一个位,这可以使用此代理类来引用。 但是,引用模拟不会完成,原因是某些赋值无效。 例如,因为无法采用 vector<bool>::reference 对象的地址,所以下列尝试使用 vector<bool>::operator& 的代码是错误的:
vector<bool> vb;
// ...
bool* pb = &vb[1]; // conversion error - do not use
bool& refb = vb[1]; // conversion error - do not use
成员函数
| 成员函数 | 说明 |
|---|---|
| flip | 反转向量元素的布尔值。 |
| operator bool | 提供从 vector<bool>::reference 到 bool 的隐式转换。 |
| operator= | 将布尔值赋给一个位,或将引用的元素所保存的值赋给一个位。 |
要求
标头:<vector>
命名空间: std