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

Автор: @energy_it

Реклама на бирже: https://telega.in/c/cpp_ready
加入频道
👩‍💻 Современное форматирование строк!

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

📣 C++ Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥698👍6🤝5
👩‍💻 Сжимаем и восстанавливаем строки с помощью RLE (Run-Length Encoding)

Сегодня реализуем алгоритм сжатия строк с помощью RLE (Run-Length Encoding), а также восстановление строки из сжатого представления.

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

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

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

Проверяем корректность: сжимаем → распаковываем → сравниваем строки.


Такой приём особенно полезен для логов, графики и повторяющихся данных, где он экономит место.

📣 C++ Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
18🔥13🤝9👍4
Парсим аргументы командной строки без крашей!

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

Начнём с подключения нужных библиотек — они уже есть в стандартной библиотеке, и ничего дополнительно устанавливать не нужно:
#include <iostream>
#include <string_view>
#include <span>


Теперь напишем простую программу: с помощью std::span получим доступ ко всем аргументам, а std::string_view позволит удобно их обрабатывать без создания лишних строк:
int main(int argc, char* argv[]) {
std::span args(argv, argc);
for (std::string_view arg : args) {
std::cout << "Аргумент: " << arg << '\n';}
return 0;
}


Допустим, мы запускаем программу вот так:
./mytool input.txt --verbose


Вот что выведет программа при таком запуске:
Аргумент: ./mytool  
Аргумент: input.txt
Аргумент: --verbose


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

📣 C++ Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥298👍7
This media is not supported in your browser
VIEW IN TELEGRAM
😎 Simplify C++ — это онлайн-блог о том, как писать по-настоящему простой современный код!

Здесь собраны статьи о современных возможностях языка, советы по Clean Code и рефакторингу, гайды по CMake, Conan и Docker для рабочего окружения и др.

📌 Оставляю ссылочку: why-simplify-cpp

📣 C++ Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
15👍6🔥5🤝2
👩‍💻 Сегодня разберем алгоритм топологической сортировки — способ упорядочить вершины графа с учётом зависимостей!

Он гарантирует, что каждая вершина идёт после всех, от кого зависит — идеально для планирования задач.

Ключевые моменты:

Используем DFS для обхода графа.

После обработки всех потомков вершины — добавляем её в список.

В конце переворачиваем полученный порядок.


Алгоритм применяется при решении задач с зависимостями, например: сборка проектов или организация процессов.

📣 C++ Ready | #алгоритмы
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥188👍6🤝3👎1
❤️ Нашёл годную статью — реализация «Game of Life», где вся логика выполняется на этапе компиляции!

В этой статье:

• Использование consteval для вычислений во время компиляции
• Настройка компилятора MSVC под Windows: vcvars64.bat, /std:c++latest
• Реализация логики Game of Life на 16×16 сетке с wrap-around

🔊 Советую продолжить читать на Habr!


📣 C++ Ready | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
14👍7🔥6🤝1
👩‍💻 Рассмотрим std::bitset — быстрый и понятный способ работы с битами!

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

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