std::bit_not
來自 cppreference.com
定義於標頭檔案 <functional> |
||
template< class T = void > struct bit_not; |
(C++14 起) | |
用於執行按位 NOT 的函式物件。實際上呼叫型別 T
上的 operator~。
目錄 |
[編輯] 特化
當未指定 T
時,標準庫提供了 std::bit_not
的特化,它讓引數型別和返回型別被推導。
(C++14) |
實現 ~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 模式中可用。