У меня общая проблема, когда у меня есть массив указателей на функции.Задача состоит в том, чтобы связать функции с местами в массиве на основе текстового файла конфигурации.Есть ли лучший способ сделать это, чем гигантский блок if-else-else -...- else?
Легче ли реализовать функторы и привязать местоположения к экземплярам типа?
РЕДАКТИРОВАТЬ: Например, я мог бы иметь:
void func1();
void func2();
void (*fptr[2])();
Я хочу иметь файл конфигурации ввода, который говорит мне, что func1 идет в fptr [0], а func2 идет в fptr [1].
func1, 0 func2, 1
if-else означает, что я передаю строку и получаю строку fname = "func1" и location_in_the_array, 0. Итак, у меня будет блок:
if (fname.compare("func1"))
{
fptr[location_in_the_array] = func1;
}
else if (...) {}
Хорошая идея - карта, и она пару раз всплывала у меня в голове, но я космический курсант и забыл ее, прежде чем я спросил.