Kotlin: Обязательный: kotlin. Найдено: kotlin.Boolean?

Из C ++ 11 viepoint ссылка, возвращаемая функцией, является not временным:

12.12.1 Временные члены типа класса создаются в различных контекстах : привязка ссылки на prvalue (8.5.3), возвращающая значение pr (6.3), преобразование, которое создает prvalue (4.1, 5.2.9, 5.2.11, 5.4), генерируя исключение (15.1), вводя обработчик (15.3) и некоторые инициализации (8.5).

Функция, возвращающая ссылку dosn't return prvalue ("pure rvalue"), поэтому она не является временной. Это кажется вполне естественным: компилятор не может управлять временем жизни ссылочных объектов, это ответственность программиста

Таким образом, компилятор не предоставляет никаких гарантий лифта для const int & amp; поскольку он не ограничен временным.

13
задан Elye 7 April 2016 в 02:24
поделиться