TGViewer
Senior C++ Developer Senior C++ Developer @seniorcpp · 11.6K subscribers
Post #2411 2.94K
Что такое std::move в C++ и как он используется?

Ответ ⬇️
std::move — это стандартная функция в C++, которая позволяет указать, что объект может быть "перемещён", т.е. его ресурсы могут быть переданы другому объекту, а не скопированы. Перемещение особенно полезно для объектов, которые управляют большими ресурсами, например, динамической памятью. В результате std::move позволяет избежать затратных операций копирования и повысить производительность, передавая ресурсы, а не создавая их дубликаты.

Пример использования ⚙️
#include <iostream>
#include <string>
#include <utility> // для std::move

void processData(std::string str) {
std::cout << "Processing: " << str << std::endl;
}

int main() {
std::string data = "Sample Data";

// Передаем строку через std::move, что позволяет избежать копирования
processData(std::move(data));

// data теперь не определена после std::move
std::cout << "Data после std::move: " << data << std::endl; // результат не гарантирован

return 0;
}

#вопросы_с_собеседований
More from @seniorcpp
  1. Oct 10, 2026Макрос watch Макрос watch — один из самых полезных приёмов. При отладке кода watch(перемен…
  2. Oct 9, 2026init внутри if и switch Эта возможность C++17 мне полюбилась сразу же, как только я узнал…
  3. Oct 8, 2026Сортировка пузырьком Определите, сколько обменов сделает алгоритм пузырьковой сортировки п…
  4. Oct 6, 2026#вопросы_с_собеседований Что такое чисто виртуальный метод и абстрактный класс? Ответ: Чис…
  5. Oct 5, 2026#вопросы_с_собеседований В чем отличие vector от deque? Ответ: Здесь вспоминают о наличии…
  6. Oct 4, 2026Избавляемся от макросов В целом, разработчики стандарта стараются исключить препроцессор.…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →