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

Автор: @energy_it

РКН: https://clck.ru/3QREHc

Реклама на бирже: https://telega.in/c/cpp_ready
Download Telegram
👩‍💻 Move-семантика без сюрпризов!

В этой шпаргалке — понятное объяснение, почему std::move сам по себе ничего не “перемещает”, что на самом деле гарантируется после move, как noexcept влияет на поведение и скорость контейнеров

📣 C++ Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19🤝75👍2
📂 Шпаргалка по Big O (временная и пространственная сложность)

На картинке — большая наглядная таблица, которая помогает быстро оценивать “сколько это будет работать” и “сколько это съест памяти”.

Здесь в одном месте собраны Big O для основных структур данных и их операций, а также для популярных алгоритмов сортировки, с акцентом на best/average/worst случаи и сравнение time vs space.

Сохрани, чтобы на лету выбирать подходящую структуру/алгоритм и прикидывать узкие места.

📣 C++ Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥196👍5
std::scoped_lock: берём два mutex без риска дедлока.

Когда нужно залочить несколько мьютексов, эта мелочь экономит часы отладки “редких зависаний”.

Часто пишут так и не замечают проблему:
std::mutex m1, m2;

void a() {
std::lock_guard<std::mutex> l1(m1);
std::lock_guard<std::mutex> l2(m2);
// работа с общими данными
}

void b() {
std::lock_guard<std::mutex> l2(m2);
std::lock_guard<std::mutex> l1(m1);
// работа с общими данными
}


На первый взгляд всё ок, но если два потока одновременно зайдут в a() и b(), один может держать m1 и ждать m2, а второй держать m2 и ждать m1. Это классический дедлок, который может проявляться “раз в неделю” и очень дорого стоит.

Правильный вариант в C++17 — std::scoped_lock, который лочит сразу несколько мьютексов одним объектом:
std::mutex m1, m2;

void a() {
std::scoped_lock lock(m1, m2);
// работа с общими данными
}

void b() {
std::scoped_lock lock(m1, m2);
// тот же порядок, тот же механизм
}


Смысл в том, что std::scoped_lock использует безопасный механизм захвата нескольких мьютексов, поэтому тебе не нужно вручную следить за порядком lock-ов и ловить редкие зависания на проде.

🔥 std::scoped_lock — простая привычка, которая убирает целый класс дедлоков, когда ресурсов больше одного, а потоков больше одного.

📣 C++ Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
15🔥9👍5
👩‍💻 Рассмотрим std::any — универсальный контейнер для значений любых типов!

Можно хранить числа, строки, объекты и даже контейнеры. Главное — помнить про any_cast и проверку типа. Удобно использовать в парсерах, конфигурациях и обобщённых API.

📣 C++ Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥649👍7
📂 Напоминалка для работы с HTTP-запросами!

Например, GET используется для получения данных, POST — для создания новых записей, а DELETE — для удаления.

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

Сохрани, чтобы не забыть!

📣 C++ Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2110🔥9🤝2
👩‍💻 Быстрая проверка силы пароля — без лишней теории!

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

В этой задаче узнаешь:

Как за один проход по строке определить типы символов (islower/isdigit/ispunct);

Как превратить простые правила в понятную оценку;

Как сделать вывод полезным: подсказать конкретные шаги усиления пароля.


Это не “банковская” безопасность, а удобный чек-лист, который сразу показывает, что улучшить.

📣 C++ Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥326👍4🤝3
This media is not supported in your browser
VIEW IN TELEGRAM
☕️ CP-Algorithms — это справочник по алгоритмам и структурам данных!

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

📌 Оставляю ссылочку: cp-algorithms.com

📣 C++ Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
17👍7🔥3