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

Автор: @energy_it

Реклама на бирже: https://telega.in/c/cpp_ready
加入频道
Хранение временных данных в памяти с std::stringstream!

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

Для этого в C++ есть удобный инструмент — std::stringstream, который хранит всё прямо в памяти и работает как обычный поток.

Сначала подключим нужные заголовки:
#include <sstream>
#include <iostream>


Теперь создадим строковый поток и запишем в него данные:
std::stringstream buffer;
buffer << "Временные данные №" << 1 << '\n';
buffer << "Ещё немного текста\n";


Чтобы прочитать данные обратно, можно использовать тот же поток:
std::string line;
while (std::getline(buffer, line)) {
std::cout << "Прочитали: " << line << '\n';
}


🔥 Прелесть в том, что std::stringstream не трогает файловую систему, работает быстро и удобно, а после выхода из области видимости данные исчезают сами.

📣 C++ Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
22👍9🔥7
👩‍💻 Сегодня разберем, как работает std::function и чем он полезен в реальных проектах!

Эо универсальный контейнер для вызываемых объектов: функций, лямбд и функторов. Он позволяет передавать поведение как параметр, создавая гибкие и абстрактные интерфейсы.

Основные моменты:
Хранит любую вызываемую сущность.

Упрощает работу с обратными вызовами.

Отличается от шаблонов: чуть медленнее, но зато гибче и универсальнее.


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

📣 C++ Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22👍10🤝106
This media is not supported in your browser
VIEW IN TELEGRAM
👍 vector-of-bool — блог и набор проектов о развитии C++ и CMake!

На сайте собраны статьи о новых возможностях языка (модули, концепты, корутины), практические заметки о сборке и конфигурации проектов, а также материалы об экосистеме инструментов

📌 Оставляю ссылочку: vector-of-bool

📣 C++ Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥94👍4
👩‍💻 Разберем std::condition_variable — механизм синхронизации потоков!

Он позволяет одному потоку приостановиться и ждать сигнала от другого, обеспечивая безопасное взаимодействие и предотвращая гонки данных. Часто используется вместе с мьютексами, когда нужно согласовать работу нескольких потоков.

📣 C++ Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥265👍3🤝3
👐 Отличная статья — практический гайд по созданию синтаксических анализаторов вручную!

В этой статье:
• Пошаговое руководство по написанию парсера на C++ вручную
• Демонстрация библиотеки forward_stream с итераторами и буферизацией
• Примеры calc.cpp и winreg.cpp показывают практическое использование подхода

🔊 Продолжай читать на Habr!


📣 C++ Ready | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍85🔥4
👩‍💻 Вычисления на этапе компиляции — мощный инструмент метапрограммирования!

Шаблоны — это не только обобщение типов, но и возможность выполнять вычисления до запуска программы.

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

Можно считать значения заранее, без запуска программы.

Ошибки находятся до запуска, ещё при сборке.

Код работает быстрее за счёт подготовки заранее.


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

📣 C++ Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍134🤝2