Tengo curiosidad acerca de la razón técnica para cin.getline y la función global getline está en diferentes lugares.¿Por qué std :: cin.getline no tiene un método oveloaded para tomar std :: string?
¿Cuál fue la motivación para no simplemente la definición de todas estas firmas de función para cin:
//THESE TWO EXIST
istream& cin::getline (char* s, streamsize n);
istream& cin::getline (char* s, streamsize n, char delim);
//THESE TWO COULD EXIST
istream& cin::getline (string &s);
istream& cin::getline (string &s, char delim);
Fue porque otros tipos pueden querer ser añadido y que no quería casarse con la cadena a CIN?
posible duplicado de [¿Por qué no las clases std :: fstream tomar un std :: string?] (Http://stackoverflow.com/questions/32332/why-dont-the-stdfstream-classes-take- a-stdstring) – wilhelmtell
@wilhelmtell: Esto parece una pregunta completamente diferente. – UncleBens
@UncleBens la pregunta es muy similar, incluso si los nombres son diferentes. La respuesta debería ser (casi) idéntica. – wilhelmtell