名稱空間
變體
操作

std::bit_not

來自 cppreference.com
 
 
 
函式物件
函式呼叫
(C++17)(C++23)
恆等函式物件
(C++20)
透明運算子包裝器
(C++14)
(C++14)
(C++14)
(C++14)  
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)

舊繫結器和介面卡
(直到 C++17*)
(直到 C++17*)
(直到 C++17*)
(直到 C++17*)  
(直到 C++17*)
(直到 C++17*)(直到 C++17*)(直到 C++17*)(直到 C++17*)
(直到 C++20*)
(直到 C++20*)
(直到 C++17*)(直到 C++17*)
(直到 C++17*)(直到 C++17*)

(直到 C++17*)
(直到 C++17*)(直到 C++17*)(直到 C++17*)(直到 C++17*)
(直到 C++20*)
(直到 C++20*)
 
定義於標頭檔案 <functional>
template< class T = void >
struct bit_not;
(C++14 起)

用於執行按位 NOT 的函式物件。實際上呼叫型別 T 上的 operator~

目錄

[編輯] 特化

當未指定 T 時,標準庫提供了 std::bit_not 的特化,它讓引數型別和返回型別被推導。

實現 ~x 並推導引數和返回型別的函式物件
(類模板特化) [編輯]

[編輯] 成員型別

型別 定義
result_type (C++17 中已棄用)(C++20 中已移除) T
argument_type (C++17 中已棄用)(C++20 中已移除) T

[編輯] 成員函式

operator()
(C++14)
返回其引數按位 NOT 的結果
(公開成員函式)

std::bit_not::operator()

constexpr T operator()( const T& arg ) const;
(C++14 起)

返回 arg 的按位 NOT 的結果。

引數

arg - 要計算按位 NOT 的值

返回值

~arg 的結果。

[編輯] 異常

可能丟擲實現定義的異常。

可能的實現

constexpr T operator()(const T& arg) const
{
    return ~arg;
}

[編輯] 注意

儘管 std::bit_not 是透過 C++11 後提案 N3421 新增的,但它被常見實現視為 LWG issue 660 解決方案的一部分(除了其透明特化 std::bit_not<>),因此在它們的 C++98/03 模式中可用。