std::endian
Von cppreference.com
| Definiert in Header <bit> |
||
| enum class endian { |
(seit C++20) | |
Gibt die Endianness aller skalaren Typen an
- Wenn alle skalaren Typen Little-Endian sind, ist std::endian::native gleich std::endian::little.
- Wenn alle skalaren Typen Big-Endian sind, ist std::endian::native gleich std::endian::big.
Eckige Plattformen werden ebenfalls unterstützt
- Wenn alle skalaren Typen
sizeofgleich 1 haben, spielt die Endianness keine Rolle und alle drei Werte, std::endian::little, std::endian::big und std::endian::native sind gleich. - Wenn die Plattform gemischte Endianness verwendet, ist std::endian::native weder gleich std::endian::big noch std::endian::little.
Inhalt |
[bearbeiten] Mögliche Implementierung
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 };
[bearbeiten] Anmerkungen
| Feature-Test-Makro | Wert | Std | Feature |
|---|---|---|---|
__cpp_lib_endian |
201907L |
(C++20) | std::endian |
[bearbeiten] Beispiel
Führen Sie diesen Code aus
Mögliche Ausgabe
mixed-endian
[bearbeiten] Siehe auch
| (C++23) |
tauscht die Bytes im gegebenen Ganzzahlwert (Funktion-Template) |
| C-Dokumentation für endian
| |