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

Автор: @energy_it

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

Реклама на бирже: https://telega.in/c/cpp_ready
Download Telegram
👩‍💻 Рассмотрим 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
std::filesystem: почему на Windows “file not found”, хотя путь выглядит правильным?

Частая причина — кодировка: путь пришёл как UTF-8, а std::filesystem::path из std::string на Windows конвертируется через текущую ANSI code page, и в итоге получается другой путь.

Вот типичный случай, который внезапно даёт false:
std::filesystem::path p = "C:\\data\\report_2026.txt";
bool ok = std::filesystem::exists(p);


Если p получен из внешнего мира (JSON/HTTP/CLI/конфиг) и он в UTF-8, на Windows такой std::string не обязан трактоваться как UTF-8 — и на пути с не-ASCII символами в реальности всё “ломается” тихо.

Правильная привычка: если вход у тебя UTF-8 — создавай path через u8path:
auto p = std::filesystem::u8path(u8"C:\\data\\report_2026.txt");
bool ok = std::filesystem::exists(p);


Если путь уже в wide-форме (Windows API/GUI), используй wide-строку:
std::filesystem::path p = L"C:\\data\\report_2026.txt";
bool ok = std::filesystem::exists(p);


🔥 На Windows не полагайся на path из обычного std::string, если строки у тебя UTF-8. Для путей с не-ASCII символами выбирай u8path или wide.

📣 C++ Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍179🔥3
🧐 Напоминалка: 10 хороших принципов кодинга!

На картинке — круговая шпаргалка с ключевыми практиками, которые делают код чище и понятнее: SOLID, тестируемость, умеренная абстракция, паттерны проектирования, снижение глобальных зависимостей, рефакторинг, надёжность, документация/аннотации, спецификации и безопасность.

Сохрани, чтобы reminder всегда был под рукой — удобно сверяться перед ревью или когда приводишь в порядок легаси!

📣 C++ Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥136🤝5👍1
👩‍💻 Строки без копий и лишних аллокаций!

В этой шпаргалке — как использовать std::string_view для быстрого парсинга и проверок без создания std::string, не словить баги времени жизни и безопасно отдавать данные в низкоуровневые API.

📣 C++ Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥216👍6🤝3
This media is not supported in your browser
VIEW IN TELEGRAM
✍️ Hyperpolyglot — сравнение языков в удобных таблицах!

Хочешь быстро понять, чем Python отличается от C++, Rust или JavaScript. Здесь синтаксис, структура, идиомы и концепции разных языков сравниваются в таблицах, так что можно буквально увидеть, как одна и та же задача решается на разных языках. Это отличный способ прокачать мультиязычное мышление, выбрать язык под задачу или просто пронаблюдать сходства и различия.

📌 Оставляю ссылочку: hyperpolyglot.org

📣 C++ Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
17👍12🔥4🤝2
Почему -1 > 2U может оказаться true?

Это один из самых коварных C++-сюрпризов: когда сравниваешь signed и unsigned, включаются “usual arithmetic conversions”. В итоге int может быть неявно приведён к unsigned, и отрицательное число превращается в огромное положительное.

То есть вот это сравнение может дать неожиданный результат:
int x = -1;
std::size_t y = 2;

x > y;


Потому что x неявно становится чем-то вроде “максимально большого size_t”.

Начиная с C++20 есть безопасные функции сравнения, которые корректно работают для любых signed/unsigned:
std::cmp_less(x, y);
std::cmp_greater(x, y);


Их удобно использовать в типичном кейсе с индексами/размерами контейнеров:
if (std::cmp_less(i, v.size())) {
// i гарантированно < size без ловушек signed/unsigned
}


🔥 Либо держи одинаковые типы у величин, которые сравниваешь (размеры/индексы), либо используй std::cmp_less/std::cmp_greater

📣 C++ Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
👍219👎4🔥3