TGViewer
С++ задачи и вопросы С++ задачи и вопросы @quizcpp · 554 subscribers
Post #1373 148
❓ Вопрос на собеседовании

Что представляют собой корутины в C++ и как они функционируют?

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

Корутины в C++ используют ключевые слова co_await, co_yield и co_return, а также требуют специального механизма возврата (std::generator, std::future, std::promise).

Пример использования ⚙️
#include
#include

struct Task {
struct promise_type {
Task get_return_object() { return {}; }
std::suspend_never initial_suspend() { return {}; }
std::suspend_never final_suspend() noexcept { return {}; }
void return_void() {}
void unhandled_exception() {}
};
};

Task myCoroutine() {
std::cout
@quizcpp
More from @quizcpp
  1. Sep 14, 2026⚙️ std::ofstream std::ofstream из заголовка используется для записи данных в файл. Это удо…
  2. Aug 17, 2026🤔 Как это работает? — Передача аргументов в C++ В C++ аргументы функции можно передавать…
  3. Jul 23, 2026⚙️ std::iota std::iota — алгоритм из библиотеки , который заполняет диапазон значениями, н…
  4. Jul 11, 2026⚙️ std::lcm std::lcm вычисляет наименьшее общее кратное (НОК) двух чисел. Это полезно для…
  5. Jul 9, 2026⚙️ std::gcd std::gcd вычисляет наибольший общий делитель (НОД) двух чисел. Это полезно для…
  6. Jun 17, 2026⚙️ std::clamp std::clamp ограничивает значение в пределах заданного диапазона. Это полезно…
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 →