Предполагая, что у меня есть:
- класс A, который не подлежит копированию
- класс B, который имеет в качестве члена const A & a (и принимает A в своем конструкторе и устанавливаетв списке инициализации)
- функция
A GenerateA();
Означает ли это, что это должно быть допустимо для: B (GenerateA ())?
т. е. означает ли const ref, что не сделана копия A, которую возвращает generateA ()?И означает ли это, что область действия возвращаемого временного объекта увеличивается до тех пор, пока существует B?
РЕДАКТИРОВАТЬ: вопрос о дополнении из комментариев: допустимо ли возвращать A & из GenerateA () в локальный A,если lvalue является константой A &?
Спасибо!