Come è possibile memorizzare un operatore aritmetico di base in una variabile?Memorizzazione di operatori aritmetici di base in variabili
Mi piacerebbe fare qualcosa di simile in C++:
int a = 1;
int b = 2;
operator op = +;
int c = a op b;
if (c == 3) // do something
Dal momento che sto considerando solo +
, -
, *
e /
ho potuto conservare l'operatore in una string
e basta usare un interruttore dichiarazione. Comunque mi chiedo se c'è un modo migliore/più semplice.
Cerca in che modo le funzioni STL richiedono i predicati. Puoi usare cose come 'std :: plus'. – chris
"enum" è un'opzione? Cosa specificamente è sbagliato con le stringhe / – sarnold