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

Автор: @energy_it

Заявление в РКН: № 6188956972

Реклама на бирже: https://telega.in/c/cpp_ready
Download Telegram
🤨 Сколько раз ты делал три перегрузки ради vector, array и «сырого» массива?

std::span решает эту боль: один лёгкий объект-вид на непрерывный участок памяти без копий и аллокаций.

Что получает функция print() из примера:
Унификация — принимает и std::vector, и std::array, и T[N], и пару указателей.

Размер внутри — длина уже хранится в span, никаких size отдельно.

Ноль оверхеда — только два слова (ptr + size) на стеке


🔥 Важно: span не владеет данными. Он «живёт» лишь пока жив исходный контейнер или массив.

📣 C++ Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
14👍6🔥3
👩‍💻 Умное владение ресурсами!

Освой shared_ptr и забудь про утечки памяти. Контролируй количество владельцев, сбрасывай, обменивай, проверяй — всё безопасно, чётко и под твоим управлением.

📣 C++ Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥224👍3🤝2
This media is not supported in your browser
VIEW IN TELEGRAM
❤️ Cpp Explorer — навигационная «станция» по современному языку!

Мини-гайды C++ Bites с примерами и упражнениями, e-book C++ Story (12 глав), глоссарий и ссылки на справочные материалы, флеш-карточки, а также индекс репозиториев с демо-кодом, проектами и «Bits»-сравнениями между языками

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

📣 C++ Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥74
Засекаем время выполнения кода!

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

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


Засекаем время до и после выполнения нужного участка. Так мы сможем точно узнать, сколько он занял:
auto start = std::chrono::high_resolution_clock::now();
// код, который измеряем
auto end = std::chrono::high_resolution_clock::now();


Вычисляем разницу во времени и красиво выводим результат в миллисекундах:
auto ms = std::chrono::duration_cast<std::chrono::milliseconds>(end - start);
std::cout << "Время выполнения: " << ms.count() << " мс\n";


Возможный результат при запуске:
Время выполнения: 5 мс


🔥 Таким образом ты можешь замерить, сколько времени уходит на любой участок кода: цикл, функцию, сортировку и т.д.

📣 C++ Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍75
👩‍💻 Скорость логирования за пару строк кода!

Библиотека spdlog превращает рутинные записи в лаконичные вызовы и сохраняет мощь гибкой настройки без сложных файлов и лишних аргументов.

В ней есть:

Легкий старт даже в большом проекте;

Понятные отчеты сразу после запуска;

Встроенная защита от задержек при запись.


Добавьте spdlog и забудьте о долгой настройке логов.

📣 C++ Ready | #библиотека
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
13🔥6👍5🤝1
👍3814🔥4👎2
👩‍💻 Скачивай файлы быстро и без усилий!

С curlpp вы создадите компактную утилиту, которая надёжно загружает файлы по HTTP и отображает индикатор прогресса прямо в терминале.

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

Проводит загрузку быстро и без лишних пауз;

Выводит статус работы прямо в окне консоли;

Обеспечивает понятную обработку ошибок без лишних заморочек.


Используйте этот подход в своих проектах и экономьте время на загрузках каждый день.

📣 C++ Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥154👍3