C/C++ Ready | Программирование
10.8K subscribers
599 photos
37 videos
304 links
Авторский канал по разработке на C и C++.
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!

Автор: @energy_it

Реклама на бирже: https://telega.in/c/cpp_ready
加入频道
Что же выведет консоль?
Anonymous Quiz
41%
A
29%
B
18%
C
11%
D
6👍6🔥5
👩‍💻 Осваиваем корутины — пишем асинхронный код просто и понятно!

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

Что важно знать:

Три ключевых оператора: co_await, co_yield, co_return.

Можно создавать генераторы, которые возвращают значения по одному.

Асинхронные функции выглядят как обычные — без вложенности и запутанных цепочек вызовов.


Это мощный инструмент современного C++, который легко интегрируется с другими фичами языка.

📣 C++ Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥30👍86🤝1
👩‍💻 Серия роликов по продвинутым плюсам!

Вы прокачаете навыки разработки на C++: работа с памятью, ООП, шаблоны, STL, исключения, многопоточность и оптимизация

Ссылочка на плейлист: YouTube 🖤


📣 C++ Ready | #курс
Please open Telegram to view this post
VIEW IN TELEGRAM
14🔥8👍2👎1
Останавливаем потоки безопасно с std::jthread

Сейчас научимся правильно завершать потоки в C++. Без detach, без ручного join, без флагов.

Для начала подключим библиотеки. Чтобы код был короче, добавим using namespace std:
#include <iostream>
#include <thread>
#include <chrono>
using namespace std;


Теперь напишем рабочую функцию. Она будет печатать счётчик каждую секунду. Когда придёт сигнал остановки, поток завершится сам:
void worker(stop_token st) {
int tick = 0;
while (!st.stop_requested()) {
cout << "Tick " << tick++ << '\n';
this_thread::sleep_for(chrono::seconds(1));}
cout << "Поток завершён корректно.\n";
}


Запускаем поток через jthread. Ждём немного и просим его остановиться. Никаких join() вызывать не нужно — всё делается автоматически:
int main() {
jthread t(worker);
this_thread::sleep_for(chrono::seconds(3));
t.request_stop();
}


Вот что выведет программа:
Tick 0  
Tick 1
Tick 2
Поток завершён корректно.


🔥 Таким образом ты можешь писать потоки проще — с автоматическим управлением и встроенной остановкой.

📣 C++ Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
11🔥10👍8😁1
This media is not supported in your browser
VIEW IN TELEGRAM
☕️ C‑Cpp — это обширный портал с практическими статьями и примерами по плюсам!

Здесь вы найдёте пошаговые руководства по функциональным возможностям C++, шаблонам, многопоточности, работе с указателями и многим другим.

📌 Оставляю ссылочку: c-cpp.ru

📣 C++ Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍76😁1
👩‍💻 CLI‑конвертер единиц (unit converter)

В этой задаче создаём консольную утилиту, которая переводит числовое значение из одной единицы измерения в другую прямо из терминала.

В этой задаче:

Принимаем на вход 3 аргумента — число, исходную единицу и целевую единицу.

Проверяем, что обе единицы входят в список поддерживаемых (m, cm, km, g, kg, l, ml).

Используем unordered_map с коэффициентами и сначала переводим значение в базовую единицу, затем — в нужную.


Такой инструмент удобен, когда нужно быстро пересчитать метры в сантиметры, граммы в килограммы или литры в миллилитры, не покидая командную строку.

📣 C++ Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍76🤝1
👩‍💻 Серия роликов по современным технологиям!
(Tech Talks 2025)


Вы познакомитесь с актуальными темами из мира IT: от облачных решений и DevOps до машинного обучения, безопасности и масштабирования систем.

Ссылочка на плейлист: YouTube 🖤


📣 C++ Ready | #курс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥97👍5
Убираем все пробелы из строки!

Сейчас научимся быстро удалять все пробельные символы (пробел, таб, перевод строки) из строки. Это пригодится при парсинге ввода, чтении конфигов или очистке текстовых данных.

Сначала подключим необходимые библиотеки из стандартной поставки:
#include <string>
#include <algorithm> // std::erase_if (C++20)
#include <cctype> // std::isspace


Допустим, у нас есть строка с лишними пробелами и табуляцией:
std::string raw = "  Hello\tWorld \n ";


Теперь удалим все пробельные символы с помощью одного вызова:
std::erase_if(raw, [](unsigned char c) {
return std::isspace(c);
});
std::cout << raw << '\n';


Результат при запуске программы:
HelloWorld


🔥 Таким образом ты можешь быстро очищать строки от пробелов — без циклов, копий и лишнего кода.

📣 C++ Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
19🔥10👍8
👩‍💻 Сегодня разберем std::filesystem — удобный способ работы с путями к файлам и каталогам!

С его помощью можно легко получать расширение файла, имя без пути, родительский каталог, заменять расширение, а также работать с путём в системном формате. Полезно при создании утилит, обработке файлов и написании кроссплатформенного кода.

📣 C++ Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25👍97🤝5