名稱空間
變體
操作

std::bitset<N>::flip

來自 cppreference.com
< cpp‎ | 工具庫‎ | bitset
 
 
 
 
bitset& flip();
(1) (C++11 起無異常丟擲)
(constexpr since C++23)
bitset& flip( std::size_t pos );
(2) (constexpr since C++23)

翻轉位,即將 true 值更改為 false,將 false 值更改為 true。等同於對位集的部分或全部執行邏輯非操作。

1) 翻轉所有位(類似於 operator~,但原地操作)。
2) 翻轉位置 pos 處的位。

目錄

[編輯] 引數

pos - 要翻轉的位的索引

[編輯] 返回值

*this

[編輯] 異常

2) 如果 pos 不對應於有效的位位置,則丟擲 std::out_of_range

[編輯] 示例

#include <bitset>
#include <iostream>
 
int main()
{
    std::bitset<4> flops;
 
    std::cout << flops << '\n'
              << flops.flip(0) << '\n'
              << flops.flip(2) << '\n'
              << flops.flip() << '\n';
}

輸出

0000
0001
0101
1010

[編輯] 缺陷報告

下列更改行為的缺陷報告追溯地應用於以前出版的 C++ 標準。

缺陷報告 應用於 釋出時的行為 正確的行為
LWG 2250 C++98 如果 pos
對應於有效的位位置
在這種情況下總是丟擲
異常

[編輯] 參閱

將位設定為 true 或給定值
(公有成員函式) [編輯]
將位設定為 false
(公有成員函式) [編輯]
執行二進位制 AND、OR、XOR 和 NOT
(公有成員函式) [編輯]
翻轉所有位
(std::vector<bool,Allocator> 的公有成員函式) [編輯]