C ++ 11 adicionou algumas novas funções de conversão de string:
http://en.cppreference.com/w/cpp/string/basic_string/stoul
Inclui stoi (string para int), stol (string para long), stoll (string para long long), stoul (string para long sem sinal), stoull (string para long long sem sinal). Notável em sua ausência é uma função stou (string para não assinado). Existe algum motivo pelo qual não é necessário, mas todos os outros são?
related: Sem funções "sto {short, unsigned short}" em C ++ 11?
unsigned long
simplesmente não é unsigned int
.
unsigned long
tem 64 bits e unsigned int
32. Eles são tipos diferentes e não podem ser considerados iguais.
stou
uma pergunta "Wah wah, onde está essa porcaria ", mas de uma pergunta que pede uma razão possivelmente definitiva para essa inconsistência óbvia. Se você sabe que não existe esse motivo, então, poste como uma resposta.