В моем коде есть строковые теги, которые преобразуются в числа и используются для поиска значений в структуре значения тега.
У меня есть что-то вроде этого:
void foo()
{
type value = search("SomeTag");
}
Где поиск определяется следующим образом :
type search(const char* tag)
{
return internal_search(toNumber(tag));
}
Поскольку во время компиляции все временные метки являются постоянными, я хочу удалить вызов, который преобразует тег в число из функции поиска. Я знаю, что можно выполнять некоторые простые функции во время компиляции с использованием шаблонов ( http://en.wikipedia.org/wiki/Compile_time_function_execution ), но я не знаю точно, как выполнить итерацию по нулю завершенная строка и сохраните промежуточные значения в шаблоне. Не могли бы вы привести простой пример, который выполняет итерацию строки с завершающим нулем и добавляет символы в общедоступную переменную?