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

Автор: @energy_it

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

Реклама на бирже: https://telega.in/c/cpp_ready
Download Telegram
Что же выведет консоль?
Anonymous Quiz
61%
A
13%
B
20%
C
6%
D
10👍6🔥3
👩‍💻 Собственный ping через ICMP

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

Что важно знать:
Нужен доступ root;

Пакеты формируем сами;

Ответ ждём вручную;


Работает уже в минимуме, а дорастает до полноценного инструмента всего за пару шагов.

📣 C++ Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥217👍5
🤨 Как вернуть подстроку без лишнего копирования?

В C++ есть мощный инструмент — std::string_view. Он позволяет «смотреть» на часть строки без копий и аллокаций. Быстро, удобно, безопасно (если не забыть про время жизни).

В примере — функция get_ext() возвращает расширение файла из пути, не создавая новых строк.

Работает с std::string, литералами, даже const char* — просто и эффективно.

🔥 Отлично подходит для парсинга, логики без мутаций и функций в горячих участках кода.

📣 C++ Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
15👍5🔥2🤝1
👩‍💻 Ленивые C++ пайплайны без копий и аллокаций!

Фильтруйте, трансформируйте и обрезайте диапазоны с помощью std::views — всё в одном потоке и без потерь производительности. Настраивайте конвейеры под задачу: отбор, изменение, разбиение, разворот.

📣 C++ Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26👍84🤝3
Параллельное суммирование с std::reduce и execution::par!

Если у тебя есть большой массив чисел, и ты хочешь быстро посчитать сумму — не обязательно делать это поэлементно в одном потоке.

С++ даёт инструмент из коробки — std::reduce с флагом std::execution::par, который распараллеливает работу по ядрам.

Подключим нужные заголовки:
#include <numeric>
#include <execution>
#include <vector>
#include <iostream>


Теперь создадим данные и посчитаем сумму:
std::vector<int> data(1'000'000, 1);

int total = std::reduce(
std::execution::par,
data.begin(), data.end()
);

std::cout << "Сумма: " << total << '\n';


🔥 Без лишних потоков, блокировок и циклов ты получаешь прирост производительности на больших объёмах.

📣 C++ Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
12🔥8👍5
👩‍💻 Возводим в степень за логарифм!

Бинарный метод делит показатель степени и ускоряет вычисления до log-шагов.

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

Делим степень пополам;

Используем остаток от деления;

Подходит для модулей.


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

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