C ++ 11 agregó algunas funciones nuevas de conversión de cadenas:
http://en.cppreference.com/w/cpp/string/basic_string/stoul
Incluye stoi (cadena a int), stol (cadena a largo), stoll (cadena a largo largo), stoul (cadena a unsigned long), stoull (cadena a unsigned long long). Notable en su ausencia es una función stou (cadena a unsigned). ¿Hay alguna razón por la que no es necesario, pero todos los demás lo son?
relacionado: ¿ No hay funciones "sto {short, unsigned short}" en C ++ 11?
unsigned longsimplemente es no unsigned int.
unsigned longes de 64 bits y unsigned int32. Son de diferentes tipos y no se puede suponer que sean iguales entre sí.
stouuna pregunta de "Wah wah, ¿dónde está esa maldita? ", Sino una pregunta que busca una razón posiblemente definida de esta obvia inconsistencia. Si sabe que no existe tal razón, entonces publíquelo como una respuesta.