std::endian
Von de.cppreference.net
| Definiert in Header <bit>
|
||
enum class endian
{
little = /* implementation-defined */,
big = /* implementation-defined */,
native = /* implementation-defined */,
};
|
(seit C++20) | |
Zeigt die Endianness aller Skalartypen an:
- Wenn alle Skalartypen Little-Endian sind, ist
std::endian::nativegleichstd::endian::little. - Wenn alle Skalartypen Big-Endian sind, ist
std::endian::nativegleichstd::endian::big.
Plattformen mit Randfällen werden ebenfalls unterstützt:
- Wenn alle Skalartypen
sizeofgleich1haben, spielt die Endianness keine Rolle und alle drei Wertestd::endian::little,std::endian::bigundstd::endian::nativesind identisch. - Wenn die Plattform gemischte Endianness verwendet, ist
std::endian::nativeweder gleichstd::endian::bignoch gleichstd::endian::little.
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 };
Hinweise
| Feature-Test Makro | Wert | Std | Feature |
|---|---|---|---|
__cpp_lib_endian
|
201907L
|
(C++20) | std :: endian |
Beispiel
Diesen Code ausführen
Mögliche Ausgabe:
mixed-endian
Siehe auch
|
(C++23)
|
kehrt die Bytes im gegebenen ganzzahligen Wert um
(Funktions-Template) |
|
C-Dokumentation
für
endian
|
|