std::endian
来自cppreference.com
| 定义于头文件 <bit>
|
||
| enum class endian { |
(C++20 起) | |
指示所有标量类型的端序:
- 若所有标量类型均为小端,则
std::endian::native等于std::endian::little - 若所有标量类型均为大端,则
std::endian::native等于std::endian::big
亦支持极端情况:
- 若所有标量类型拥有等于 1 的 sizeof ,则端序无影响,且
std::endian::little,std::endian::big及std::endian::native三个值相同 - 若平台使用混合端序,则
std::endian::native既不等于std::endian::big亦不等于std::endian::little
可能的实现
enum class endian { #ifdef _WIN32 little = 0, big = 1, native = little #else little = __ORDER_LITTLE_ENDIAN__, big = __ORDER_BIG_ENDIAN__, native = __BYTE_ORDER__ #endif };