Семантика перемещения C++ для GameState ⇐ C++
Семантика перемещения C++ для GameState
Мне поручено реализовать семантику перемещения (конструктор перемещения и оператор присваивания перемещения) для игры роботов на C++.
Я получил отзыв о том, что мне следует «украсть» ресурсы у другого объекта при использовании семантики перемещения, поэтому я попытался сделать это, но затем мне сказали, что это поверхностная копия и что std::move не обязателен. Также был задан вопрос, что происходит, когда GameState выходит за пределы области видимости и что его можно обработать неправильно.
В файле mainwindow.cpp, когда я перехожу с одного уровня на другой, есть строка, в которой используется оператор присваивания. Конструктор перемещения никогда не используется, его просто нужно правильно реализовать.
mainwindow.cpp:
gameState = GameState(numberOfRobots); // вызывается конструктор GameState.cpp:
// Конструктор. GameState::GameState(int NumberOfRobots) { for (int i = 0; i
Мне поручено реализовать семантику перемещения (конструктор перемещения и оператор присваивания перемещения) для игры роботов на C++.
Я получил отзыв о том, что мне следует «украсть» ресурсы у другого объекта при использовании семантики перемещения, поэтому я попытался сделать это, но затем мне сказали, что это поверхностная копия и что std::move не обязателен. Также был задан вопрос, что происходит, когда GameState выходит за пределы области видимости и что его можно обработать неправильно.
В файле mainwindow.cpp, когда я перехожу с одного уровня на другой, есть строка, в которой используется оператор присваивания. Конструктор перемещения никогда не используется, его просто нужно правильно реализовать.
mainwindow.cpp:
gameState = GameState(numberOfRobots); // вызывается конструктор GameState.cpp:
// Конструктор. GameState::GameState(int NumberOfRobots) { for (int i = 0; i
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение