Rvalue ссылка на временную декларацию
E && e0 = E () ;
E e1 ;
есть ли различия между этими двумя случаями объявления объекта?;
1 ответ
Решение
В вашем примере:
- Результат
E()
является значением (если быть точным); e0
является lvalue, типаE&&
(Rvalue ссылка наE
);e1
также lvalue, типаE
;e0
, привязав к результатуE()
, продлевает срок службы от временного до автоматического.
Таким образом, если следующий код не делает разницы между E
а также E&&
(например, decltype
но auto
не будет), они будут вести себя так же.