bool isLittle()
{
unsigned int val = 1;
return *((unsigned char *)&val);
}
もしマシンがリトルエンディアンなら、 val はLSBから順にメモリに格納されます。そのアドレスの値を読み取る事でリトルエンディアンかどうかを判定するという方法で、仕事で使うには少し薄気味悪いですが、フリーのライブラリに含めておくにはぴったりのコードだと感じられました。というか実際にフリーのライブラリで見かけたんですが。 (^^;
導入者に設定を返させたり、定数をあれこれさせるよりすっきりしていると思います。