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

Автор: @energy_it

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

Файловый ввод-вывод — это основа любой системы, взаимодействующей с внешними данными. С помощью этих классов и методов можно удобно считывать строки, записывать логи, обрабатывать конфигурации и многое другое.

📣 C++ Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝40👍16🔥111
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
👍227🔥4
Безопасно преобразуем строку в число!

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

Подключим нужные библиотеки — всё уже есть в стандартной поставке:
#include <iostream>
#include <string>


Допустим, у нас есть строка, которую мы хотим превратить в int:
std::string raw = "42abc";


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

Пишем аккуратную проверку с помощью try-catch — если что-то пойдёт не так, мы это отловим:
try {
int value = std::stoi(raw);
std::cout << "Число: " << value << '\n';


Добавим обработку ошибок:
} catch (const std::invalid_argument&) {
std::cout << "Некорректный ввод: не число\n";
} catch (const std::out_of_range&) {
std::cout << "Число вне диапазона int\n";
}


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


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

📣 C++ Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍259🤝5👎1
📂 Напоминалка по HTTP-статусам!

Например, код 200 означает, что всё прошло успешно, а 404 сообщает, что страница не найдена.
Очень полезно держать под рукой, когда работаешь с API или отлаживаешь backend.

На картинке показаны самые часто используемые статусы от 100 до 599.

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

📣 C++ Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥187👍5
Что же выведет консоль?
Anonymous Quiz
14%
A
24%
B
23%
C
39%
D
13👍10🔥6🤝1
👩‍💻 В этом посте разберем алгоритм Дейкстры — один из самых популярных способов нахождения кратчайших путей в графе!

Он ищет минимальные расстояния от одной вершины до всех остальных в графе с неотрицательными весами рёбер.

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

Инициализация расстояний: все бесконечны, кроме стартовой вершины.

Цикл обработки: достаём вершину с минимальным расстоянием, обновляем её соседей.

Функция relax обновляет путь к соседу, если найден более выгодный маршрут.


Алгоритм прост в реализации и идеально подходит для задач с положительными весами.

📣 C++ Ready | #алгоритмы
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥266👍5🤝3
This media is not supported in your browser
VIEW IN TELEGRAM
☕️ C++ Patterns — каталог современных шаблонов языка!

На нём собраны лаконичные карточки-паттерны с рабочими примерами кода, указанием минимального стандарта языка и подробным описанием назначения приёма.

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

📣 C++ Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍54
👩‍💻 Осваиваем unique_ptr — надёжный RAII-щит от утечек и double delete!

Он берет ресурс «в единоличное владение» и автоматически освобождает его при выходе из области видимости. Код чище, намерения понятнее — никаких manual delete.

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

RAII-подход: объект уничтожается автоматически, даже при исключениях

Указатель нельзя копировать, но можно перемещать → один владелец, один delete

std::make_unique — безопасный способ создания: защищает от утечек при new


unique_ptr прост, компактен и отлично сочетается с современным стилем C++.

📣 C++ Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
15🔥12🤝11👍6😁1
This media is not supported in your browser
VIEW IN TELEGRAM
😎 Советую YeaHub — это IT платформа объединяющая обучение, подготовку к собеседованиям и развитие карьеры в одном месте!

База реальных собеседований от Т-Банк, Яндекса, Сбера и 100+ топовых компаний. 10 000+ вопросов по Frontend, Backend, DevOps и другим направлениям. Удобный тренажёр, персональная статистика и еженедельные обновления.

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

📣 C++ Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍5🔥5🤝2
Быстро тестируем код через assert.

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

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


Предположим, у нас есть функция, которая должна возвращать квадрат числа. Реализуем её так:
int square(int x) {
return x * x;
}


Теперь напишем несколько простых тестов с помощью assert, чтобы проверить, что функция работает правильно на базовых примерах:
int main() {
assert(square(2) == 4);
assert(square(-3) == 9);
assert(square(0) == 0);
std::cout << "Все тесты пройдены!\n";
return 0;
}


Если проверка не пройдёт — программа остановится и покажет, где ошибка.

Вот как может выглядеть ошибка, если ожидание не совпадает с результатом:
Assertion failed: square(2) == 5, file main.cpp, line 10


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

📣 C++ Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
25👍9🔥8🤝1