Я не могу получить четкое представление о том, является ли это законным, даже после рассмотрения связанных вопросов по SO и чтения стандартной страницы С++ 03 192 (http://cs.nyu.edu/courses/fall11/CSCI-GA.2110-003/documents/c++2003std.pdf). Является ли это законным и безопасным:
const MyClass& f(const MyClass& arg) {
return arg;
}
void some_other_function() {
const MyClass& reference = f(MyClass());
// Use reference.
}
Мне кажется, что это так.