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

Автор: @energy_it

Реклама на бирже: https://telega.in/c/cpp_ready
加入频道
👩‍💻 В этом посте разберем хеши — инструмент, который ускоряет работу со строками за счёт перевода текста в числа.

Хеш строки — это число, которое с высокой вероятностью соответствует её содержимому. Сравнивать строки посимвольно — долго, а хеш делает это мгновенно.

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

Быстрое сравнение строк: O(1) вместо O(n)

Префиксные хеши и степени P для быстрого доступа к любой подстроке.

Каждый символ влияет на хеш своей позицией и значением.


🔥 — если узнал что-то новое
🤝 — если уже пользовался


📣 C++ Ready | #алгоритмы
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥43🤝11👍5👎2
👩‍💻 Парсинг CSV-таблицы — простой способ превратить строки в структуру данных!

В этой задаче мы разбираем строки CSV как мини-таблицу — каждая строка превращается в вектор значений. Всё это делается с помощью stringstream и getline — удобно и без лишнего кода.

Ключевые моменты:
Используем getline для чтения по запятой.

Каждую строку разбиваем на ячейки, получаем вектор строк.

Собираем таблицу из таких строк vector<vector<string>>.


🔥 — если попробуешь реализовать
🤝 — если уже парсил CSV


📣 C++ Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥39🤝1510👍5
👩‍💻 Рассмотрим mutex — точная синхронизация потоков!

Синхронизация потоков — важная часть многопоточного программирования. В этом помогут основные приёмы работы с мьютексами: блокировка, безопасное управление через RAII-обёртки и приёмы избежания дедлоков.

📣 C++ Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3912👍8🤝3
👩‍💻 Погружаемся в noexcept — как сделать функции предсказуемыми!

Указывая noexcept, ты даёшь понять компилятору: исключений не будет. Это позволяет лучше оптимизировать код и безопасно вызывать функцию в критичных местах.

Что важно знать:
Ускоряет перемещения (STL-контейнеры этому особенно радуются)

Помогает писать надёжный код без сюрпризов.

Можно делать условным — полезно в шаблонах.


🔥 — если узнал что-то новое
🤝 — если уже пользовался


📣 C++ Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥47🤝129
Проверяем, существует ли файл или папка!

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

Подключим нужную библиотеку:
#include <filesystem>


Пишем проверку: если путь существует — всё хорошо, иначе выводим предупреждение:
std::string path = "data.txt";
if (std::filesystem::exists(path)) {
std::cout << "Файл или папка найдены\n";
} else {
std::cout << "Путь не найден\n";
}


Если путь ведёт к файлу, но ты хочешь убедиться, что это именно файл, а не папка:
std::filesystem::is_regular_file(path);


А если нужна именно папка:
std::filesystem::is_directory(path);


Возможный результат при запуске (если файла нет):
Путь не найден


🔥 Таким образом ты можешь безопасно работать с путями — без крашей и лишних проверок.

📣 C++ Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31🔥97