std::endian - cppreference.com
提供: cppreference.com
<tbody> </tbody>
|
|
(1) | (C++20以上) |
すべてのスカラー型のエンディアンを表します。
- すべてのスカラー型がリトルエンディアンの場合、
std::endian::nativeはstd::endian::littleと等しくなります - すべてのスカラー型がビッグエンディアンの場合、
std::endian::nativeはstd::endian::bigと等しくなります
コーナーケースにあるプラットフォームもサポートされます。
- すべてのスカラー型の sizeof が 1 である場合、エンディアンは意味をなさず、3つの値
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 };