Sólo faltaría aclarar a qué te refieres con valor "numérico", puedes tener números con punto decimal, o que incluyan signo ('-' ó '+'), o incluso que utilicen notación exponencial ('e'). No conozco una función/clase en el C++ estándar que permita saber esto (a ver si alguien comenta al respecto
).
Ahora, si lo que buscas es saber si un string contiene sólo números (es decir, si string es un número entero sin signo), puedes probar con esto:
bool isNum( const string& s ) {
for ( int i = 0; i < s.length(); i++ ) {
if ( isdigit( s[ i ] ) == 0 ) {
return false;
}
}
return true;
}
Saludos,
JJ (Geo).