Как вызвать функцию по имени (std :: string) в C ++?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как вызвать функцию по имени (std :: string) в C ++?

Сообщение Anonymous »

Интересно, есть ли простой способ вызвать функцию из строки. Я знаю простой способ, используя 'if' и 'else'. < /P>

int function_1(int i, int j) {
return i*j;
}

int function_2(int i, int j) {
return i/j;
}

...
...
...

int function_N(int i, int j) {
return i+j;
}

int main(int argc, char* argv[]) {
int i = 4, j = 2;
string function = "function_2";
cout

int callFunction(int i, int j, string function) {
if(function == "function_1") {
return function_1(i, j);
} else if(function == "function_2") {
return function_2(i, j);
} else if(...) {

} ...
...
...
...
return function_1(i, j);
}
< /code>

Есть что -то проще? < /p>

/* New Approach */
int callFunction(int i, int j, string function) {
/* I need something simple */
return function(i, j);
}


Подробнее здесь: https://stackoverflow.com/questions/194 ... tring-in-c
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»