допустим у меня есть следующее:
boost::unordered_map< string , someValueType > map;
someValueType& value = map[ "key" ] = someValueType();
последняя строка содержит:
- временно построенный экземпляр
someValueType
- назначение временного объекта в новую запись карты
- инициализация ссылки на запись карты
поэтому, если следующая строка:
value.someProperty = 42;
это попытается изменить запись карты, верно? не оригинал временный?
В этом случае я знаю, что если ссылка не может быть временной, потому что она не является константой (поэтому ошибка компилятора или ее отсутствие ответят на мой вопрос), но если я добавил константу в объявление ссылки, я не уверен, что правила оценки сказали бы в этом случае