Использование ссылок rvalue в c++11

Я хотел бы реализовать функцию, которая заполняет вектор, а затем возвращает ссылку rvalue. Я устал что-то вроде:

std::vector<int> &&fill_list() {
  std::vector<int> res;
  ... do something to fill res ...
  return res;
}

int main(int argc, char **argv) {
  std::vector<int> myvec = fill_list();
  return 0;
}

, но это не работает, я получаю следующую ошибку:

error: invalid initialization of reference of type 'std::vector<int>&&' from expression of type 'std::vector<int>'

Итак, в общем, как правильно это сделать? Я не думаю, что пока получаю ссылки на rvalue.

9
задан ildjarn 28 March 2012 в 19:47
поделиться