std::endian
來自 cppreference.com
定義於標頭檔案 <bit> |
||
enum class endian { |
(C++20 起) | |
- 如果所有標量型別都是小端序,則 std::endian::native 等於 std::endian::little。
- 如果所有標量型別都是大端序,則 std::endian::native 等於 std::endian::big。
還支援邊緣情況平臺
- 如果所有標量型別的
sizeof
都等於 1,則位元組序無關緊要,並且所有三個值,std::endian::little、std::endian::big 和 std::endian::native 是相同的。 - 如果平臺使用混合位元組序,則 std::endian::native 既不等於 std::endian::big 也不等於 std::endian::little。
目錄 |
[編輯] 可能實現
enum class endian { #if defined(_MSC_VER) && !defined(__clang__) little = 0, big = 1, native = little #else little = __ORDER_LITTLE_ENDIAN__, big = __ORDER_BIG_ENDIAN__, native = __BYTE_ORDER__ #endif };
[編輯] 備註
特性測試宏 | 值 | 標準 | 特性 |
---|---|---|---|
__cpp_lib_endian |
201907L |
(C++20) | std::endian |
[編輯] 示例
執行此程式碼
可能的輸出
mixed-endian
[編輯] 參見
(C++23) |
反轉給定整數值中的位元組 (函式模板) |
C 文件 for endian
|