Я пишу класс Queue. У меня есть две версии push_back для нового стандарта C++ 11. Одна из этих версий использует параметр rvalue в качестве параметра. Моя версия работает, но я думаю, что это должно быть что-то не хватает:R-value Ссылка push_back Функция
97 template <typename T>
98 void Queue<T>::push(T && val)
99 {
100 c.push_back(val);
101 }
Кажется, я должен использовать зЬй :: двигаться, но я не уверен, как это реализовать. c в вышеуказанной функции относится к объекту deque, инкапсулированному в моем классе Queue. Любая помощь в понимании того, что я должен сделать, чтобы построить эту функцию, была бы очень признательна!
Что так сложно о передаче '' val' через станд :: move'? – Deduplicator
Я не знал, что это возможно. Итак, мой вызов push_back может быть: c.push_back (std :: move (val))? –
Да, и так должно быть. В стороне, никогда не вставляйте номера строк. Они ломают копию. – Deduplicator