Jeśli na pewno wejście jest poprawne:
size_t pozycja_op = wyrazenie.find_first_not_of("1234567890");
op = wyrazenie[pozycja_op];
a = wyrazenie.substr(0, pozycja_op);
b = wyrazenie.substr(pozycja_op+1);
Pamiętaj, że w ten sposób spacje nie zostaną usunięte ("5 +3" zostanie zamienione na: "5 ",'+',"3").