std::bitset<N>:: reference
| 
           
            
             class
            
            reference
            
             ;
            
           
           | ||
       
        
         std::bitset
        
       
       类包含一个公开可访问的嵌套类
       
        std::bitset::reference
       
       。该类作为代理对象,允许用户与位集的单个比特位进行交互,因为标准 C++ 类型(如引用和指针)不具备精确操作单个比特位的精度。
      
       
        std::bitset::reference
       
       的主要用途是提供一个可从
       
        
         operator[]
        
       
       返回的左值。
      
       通过
       
        std::bitset::reference
       
       对位集进行的任何读写操作,都可能读取或写入整个底层位集。
      
| 目录 | 
成员函数
| 
           
            
             (constructor)
            
           
           | 构造引用对象 (公开成员函数) | 
| 
           
            
             
              (destructor)
             
            
           
           | 销毁引用对象 (公开成员函数) | 
| 
           
            
             operator=
            
           
           | 对引用的位进行赋值 (公开成员函数) | 
| 
           
            
             
              operator bool
             
            
           
           | 返回被引用的位 (公开成员函数) | 
| 
           
            
             operator~
            
           
           | 返回被引用位的取反值 (公开成员函数) | 
| 
           
            
             flip
            
           
           | 翻转被引用的位 (公开成员函数) | 
std::bitset<N>::reference:: reference
| 
            
             reference
             
              (
             
             
              const
             
             reference
             
              &
             
             
              )
             
             
              =
             
             
              default
             
             
              ;
             
            
            | (since C++11) (constexpr since C++23) | |
从另一个引用构造该引用。 复制构造函数被隐式声明。 (until C++11)
        其他构造函数只能通过
        
         
          std::bitset
         
        
        访问。
       
std::bitset<N>::reference:: ~reference
| 
            
             ~reference
             
              (
             
             
              )
             
             
              ;
             
            
            | (constexpr since C++23) | |
销毁引用对象。
std::bitset<N>::reference:: operator=
| 
            
            
            
             reference
             
              &
             
             operator
             
              =
             
             
              (
             
             
              bool
             
             x
             
              )
             
             
              ;
             
            
            | (1) | (noexcept since C++11) (constexpr since C++23) | 
| 
            
            
            
             reference
             
              &
             
             operator
             
              =
             
             
              (
             
             
              const
             
             reference
             
              &
             
             x
             
              )
             
             
              ;
             
            
            | (2) | (noexcept since C++11) (constexpr since C++23) | 
为引用的位赋值。
参数
| x | - | 要赋的值 | 
返回值
* this
std::bitset<N>::reference:: operator bool
| 
            
             operator
             
              bool
             
             
              (
             
             
              )
             
             
              const
             
             
              ;
             
            
            | (自 C++11 起为 noexcept) (自 C++23 起为 constexpr) | |
返回被引用位的值。
返回值
被引用的位。
std::bitset<N>::reference:: operator~
| 
            
             
              bool
             
             operator~
             
              (
             
             
              )
             
             
              const
             
             
              ;
             
            
            | (noexcept since C++11) (constexpr since C++23) | |
返回被引用位的逻辑反值。
返回值
被引用位的逻辑反值。
std::bitset<N>::reference:: flip
| 
            
             reference
             
              &
             
             flip
             
              (
             
             
              )
             
             
              ;
             
            
            | (自 C++11 起为 noexcept) (自 C++23 起为 constexpr) | |
反转所引用的位。
返回值
* this
示例
#include <bitset> #include <iostream> int main() { std::bitset<4> bs{0b1110}; std::bitset<4>::reference ref = bs[2]; auto info = [&](int id) { std::cout << id << ") bs: " << bs << "; ref bit: " << ref << '\n'; }; info(1); ref = false; info(2); ref = true; info(3); ref.flip(); info(4); ref = bs[1]; // operator=( const reference& x ) info(5); std::cout << "6) ~ref bit: " << ~ref << '\n'; }
输出:
1) bs: 1110; ref bit: 1 2) bs: 1010; ref bit: 0 3) bs: 1110; ref bit: 1 4) bs: 1010; ref bit: 0 5) bs: 1110; ref bit: 1 6) ~ref bit: 0
参见
| 访问特定位 (公开成员函数) |