5.14 я встретил такую инструкцию:
class Q_CORE_EXPORT QString
{
...
Q_REQUIRED_RESULT QString trimmed() const &
{ return trimmed_helper(*this); }
Q_REQUIRED_RESULT QString trimmed() &&
{ return trimmed_helper(*this); }
Вопрос: что за амперсанды в конце объявления методов класса?
rvalue вроде как может быть или в описании результата, или в аргументах функции.
Скажите, пожалуйста, что это такое и куда почитать?!
(в гугл пожалуйста не слать, я даже не знаю что это такое чтоб это искать)
Этот метод можно вызвать только у lvalue, если &, если на && только у rvalue
Спасибо! Сколько статей перечитал от начала появления стандарта, а такого не встречал. Спасибо ещё раз за разъяснение!
Обсуждают сегодня