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

Автор: @energy_it

Заявление в РКН: № 6382873737

Реклама на бирже: https://telega.in/c/cpp_ready
Download Telegram
👩‍💻 Утилита для автоматического резервного копирования локальных папок!

Этот инструмент помогает следить за изменениями в папке и быстро дублировать изменённые файлы в резервное место

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

Работает без сторонних библиотек;

Копирует только изменённые файлы;

Подходит для любых каталогов.


Простой способ защитить данные и иметь актуальную резервную копию

📣 C++ Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍134🔥3
Цветной вывод в консоли — яркие логи без библиотек!

Иногда нужно быстро подчеркнуть удачные и ошибочные ветки в логах. Достаточно встроенных ANSI-кодов — никаких внешних зависимостей!

Палитра базовых цветов (ANSI Escape)
constexpr auto red    = "\033[31m";
constexpr auto green = "\033[32m";
constexpr auto yellow = "\033[33m";
constexpr auto reset = "\033[0m";
// вернуть обычный цвет


Выводим сообщения разными цветами и не забываем сбрасывать стиль:
std::cout << green  << "✔️ Всё прошло успешно" << reset << '\n';
std::cout << yellow << "… Загружаем данные" << reset << '\n';
std::cerr << red << "✖️ Ошибка подключения" << reset << '\n';


Работает на Linux / macOS «из коробки».

🔥 В Windows 10+ включите Virtual Terminal (SetConsoleMode(h,ENABLE_VIRTUAL_TERMINAL_PROCESSING)) — и ANSI-краски будут доступны прямо в cmd / PowerShell.

📣 C++ Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
17👍4🔥4
👩‍💻 Форматируем свои типы!

Позволяет красиво выводить структуры без лишних костылей. Пользователь сам выбирает стиль, а вы контролируете, как объект превращается в строку. Всё просто и удобно.

📣 C++ Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍76👎3
Что же выведет консоль?
Anonymous Quiz
57%
A
16%
B
15%
C
12%
D
5👍4🔥3
👩‍💻 Осваиваем новые трюки со span!

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

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

Байтный вид быстро;

Фиксированная длина экономит;

Легко сортировать напрямую.


Это продолжение прошлого гайда
— теперь span раскроется на полную силу.

📣 C++ Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍64
Асинхронное чтение файлов с std::async!

Иногда нужно загрузить сразу несколько больших файлов без блокировки основного потока — например, при подготовке ресурсов для приложения или анализа логов.

С std::async это делается парой строк и возвращающимся std::future.
#include <fstream>
#include <future>
#include <string>

// Читает весь файл в строку
std::string readFile(const std::string& path) {
std::ifstream in(path);
return { std::istreambuf_iterator<char>(in), {} };
}


Вызовем чтение сразу двух файлов параллельно и дождёмся результата:
auto fut1 = std::async(std::launch::async, readFile, "config.json");
auto fut2 = std::async(std::launch::async, readFile, "data.log");

// Здесь можно выполнять другие задачи...

std::string config = fut1.get();
std::string logs = fut2.get();


🔥 Таким образом вы распараллеливаете I/O-операции без явных потоков или сложных библиотек. Как только оба future будут готовы, вызов get() вернёт содержимое файлов.

📣 C++ Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍125🔥3
👩‍💻 Дерево Фенвика для быстрых сумм!

Позволяет мгновенно обновлять элементы и считать сумму на любом префиксе за логарифм времени.

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

Хранит частичные куски;

Обновляет несколько позиций;

Быстро считает префиксы.


Дерево Фенвика удобно, просто реализуется и эффективно решает задачи с частыми обновлениями и запросами.

📣 C++ Ready | #алгоритмы
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥134👍4