Я знаю способ неметапрограммирования, чтобы решить, является ли ПК прямым порядком байтов или нет.
eg:
#include <iostream>
#include <stdint.h>
union A {
uint16_t v;
char c[2];
};
int main(void) {
A a;
a.v = 0x0102;
std::cout << (a.c[0] == 0x01 ? "big endian" : "little endian") << std::endl;
return 0;
}
Но, это дорого во время выполнения, не так ли?
Итак, есть ли способ решить, является ли ПК прямым порядком байтов или нет с помощью метапрограммирования?
Спасибо!