namespace std {
constexpr byte operator~(byte b) noexcept;
}
概要
byte
型の値をビット反転する。
効果
以下の式と等価の効果をもつ:
return static_cast<byte>(static_cast<unsigned char>(~static_cast<unsigned int>(b)));
例外
投げない
例
#include <cassert>
#include <cstddef>
#include <climits>
int main()
{
static_assert(CHAR_BIT == 8);
std::byte x{0b0000'0011};
std::byte result = ~x;
assert(static_cast<unsigned char>(result) == 0b1111'1100);
}
xxxxxxxxxx
#include <cassert>
#include <cstddef>
#include <climits>
int main()
{
static_assert(CHAR_BIT == 8);
std::byte x{0b0000'0011};
std::byte result = ~x;
assert(static_cast<unsigned char>(result) == 0b1111'1100);
}
出力
バージョン
言語
- C++17
処理系
- Clang: 5.0 ✅
- GCC: 7.1 ✅
- Visual C++: ??