создание пользовательского суффикса для конвертации текстовой строки
создаю массив с сырыми данными, который должен быть объявлен глобально. Пример рабочего кода:
#include <iostream>
constexpr const uint8_t raw[] = { 0x01, 0x02, 0x03 };
const uint16_t sizeraw = sizeof raw;
void Print(const uint8_t* prt, int size)
{
printf("size: %d\r\n", size);
for (int i = 0; i < size; i++)
printf("0x%02X ", *prt++);
printf("\r\n");
}
int main()
{
Print(raw, sizeraw);
return 0;
}
По некоторым причинам, такая запись значений не устраивает. Не могу сообразить как работать с пользовательскими суффиксами. хотелось бы придти к такой форме записи:
constexpr const uint8_t raw[] = "010203"_hexstr;
Но не как не могу разобраться в конструкциях происходящих в
constexpr ??? operator "" _hexstr(const char* str, const size_t size)
Или можно как-то проще решить этот вопрос через define или constexpr?
Источник: Stack Overflow на русском