如何在编译时确定我的平台是小端还是大端?我见过很多使用转换在运行时确定的方法,以及一些依赖于平台的选项。是否有可移植或标准的方法来执行此操作?
constexpr bool is_little_endian = ?;
最佳答案
添加了 C++20 std::endian
至 <bit>
* 可以在 constexpr 上下文中使用。
if constexpr (std::endian::native == std::endian::little) {
std::cout << "litle endian\n";
} else if constexpr(std::endian::native == std::endian::big) {
std::cout << "big endian\n";
} else {
std::cout << "something silly\n";
}
* 原来是<type_traits>
并且会出现在旧的实现中。
关于c++ - 如何在编译时确定字节顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50144736/