Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpOpMvInr 120 of 150 menu
◀ ▶

Введение в перемещение объектов в C++

Перемещение отдает массив нового объекта без копирования элементов. Сам буфер в памяти тот же, меняется указатель в поле.

Так поступают с временным объектом, например с результатом функции: он скоро исчезнет, и копировать массив незачем. Запишем функцию, которая возвращает Box по значению:

class Box { public: int* ptr; Box() { ptr = new int[1]; ptr[0] = 42; } ~Box() { delete[] ptr; } }; Box make_box() { Box fresh; return fresh; }

Сейчас примем объект из функции:

int main() { Box holder = make_box(); std::cout << holder.ptr[0] << "\n"; return 0; }
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить