const std::string& f(){
std::string s = "Hello";
return s + s;
}
int main() {
std::string s = "Hello";
std::string& s1 = s + s;
s1 += "!";
std::cout << f();
}
У меня есть несколько вопросов об этом коде, который я написал.
Почему я все еще могу получить доступ к s1 и изменить его, даже если это неконстантная ссылка на временный объект?
Почему f выдает ошибку времени выполнения? Я думал, что const продлит время жизни временного объекта?
f()
, потому что вы никогда не вызываете функцию - person M.M   schedule 12.08.2014