эмм безопасен ли вот такой код?
int i;
double const& foo(double const& rd){
return rd;
}
double d = foo(static_cast<double>(i));
правильно ли я понимаю, что фунция foo получает ссылку на временный объект типа double, и в дальнейшем ее же вовзвращает, поэтому дальнейшие операции с ней не корректны?