Cadena en notación científica C ++ para doble conversión.

Tengo una base de datos llena de dobles como la siguiente:

1.60000000000000000000000000000000000e+01

¿Alguien sabe cómo convertir un número como ese a un doble en C ++?

¿Hay una manera "estándar" de hacer este tipo de cosas? ¿O tengo que rodar mi propia función?

Ahora mismo estoy haciendo algo así:

#include <string>
#include <sstream>



int main() {
    std::string s("1.60000000000000000000000000000000000e+01");
    std::istringstream iss(s);
    double d;
    iss >> d;
    d += 10.303030;
    std::cout << d << std::endl;
}

¡Gracias!

Respuestas a la pregunta(2)

Su respuesta a la pregunta