Я использую С++ 11 в моем проекте и задаюсь вопросом, как лучше всего представить магическое число ELF. Я не поклонник шестнадцатеричных литералов, поэтому я искал что-то лучше, чем:
const uint32 ELF_MAGIC_NUMBER = 0x7F454c46; // 0x7F, E, L, F
Итак, я попытался написать:
const uint32 ELF_MAGIC_NUMBER = { 0x7F, 'E', 'L', 'F' };
но компилятор жалуется, что в списке инициализаторов слишком много элементов, что понятно, хотя и раздражает.
Есть ли способ записать целочисленный литерал в терминах его байтов? Я чувствую, что первый вариант, хотя он работает, не так читается на втором.