C ++ 11 tipos de retorno automático y de función
Sé de la diferencia entreauto
, auto&
, const auto
yconst auto&
(por ejemplo, en un bucle "para cada"), pero una cosa que me sorprendió es:
std::string bla;
const std::string& cf()
{
return bla;
}
int main (int argc, char *argv[])
{
auto s1=cf();
const std::string& s2=cf();
s1+="XXX"; // not an error
s2+="YYY"; //error as expected
}
Entonces alguien me puede decir cuando el tipo dex
en la expresiónauto x = fun();
no será del mismo tipo que el tipo del valor de retorno delfun()
?