Не так.
Вам нужен какой-то способ синтаксического анализа этой строки, а затем переключения на соответствующий код в зависимости от результата.
Вы также можете написать несколько функций:
int add(int x, int y) { return x+y; }
int sub(int x, int y) { return x-y; }
// etc.
и typedef:
typedef int (*func)(int,int);
, а затем создайте std::map<std::string,func>
, что сделает процесс поиска и вызова соответствующей функции очень простым.