Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥9❤5🤝3
This media is not supported in your browser
VIEW IN TELEGRAM
Здесь вы найдёте статьи о новых возможностях языка, практических приёмах, обзорах стандартов и техниках оптимизации. Автор делится личным опытом, разбирает реальные задачи, даёт советы по написанию эффективного и понятного кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍5🔥5
Разберёмся, как получить суммарный объём всех файлов в папке, применив стандартную библиотеку <filesystem>. Пользователь вводит путь в консоль — быстро и ясно!
Ключевые моменты:
• При каждом посещении обычного файла добавляем его размер к общему счётчику (entry.file_size()).
• Путь к каталогу спрашиваем у пользователя, валидируем и передаём функции.
• Возможные исключения ловим, чтобы программа не падала на недоступных файлах.
Приём пригодится и тем, кто уже работал с <filesystem>, и тем, кто только открывает для себя его удобные API.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16🤝13❤4
Безопасно получаем элемент из vector!
Сейчас научимся обращаться к элементу вектора так, чтобы не получить ошибку выхода за границы — без исключений и без падений.
Сначала подключим нужные библиотеки для работы с консолью и стандартным вектором:
Затем создадим простой вектор с несколькими целыми числами, которые будут выступать в роли исходных данных:
Теперь предположим, что у нас есть индекс, по которому мы хотим получить элемент вектора. Он может быть как корректным, так и ошибочным:
Перед тем как обратиться к элементу по индексу, обязательно проверим, не выходит ли он за допустимые границы вектора. Это защитит программу от ошибки доступа к памяти:
Возможный результат при запуске (если индекс выходит за пределы размера вектора):
🔥 Так ты можешь безопасно обращаться к элементам вектора — без риска краха программы и без try-catch, которые могут быть избыточными в простых случаях.
📣 C++ Ready | #практика
Сейчас научимся обращаться к элементу вектора так, чтобы не получить ошибку выхода за границы — без исключений и без падений.
Сначала подключим нужные библиотеки для работы с консолью и стандартным вектором:
#include <iostream>
#include <vector>
Затем создадим простой вектор с несколькими целыми числами, которые будут выступать в роли исходных данных:
std::vector<int> data = {10, 20, 30};
Теперь предположим, что у нас есть индекс, по которому мы хотим получить элемент вектора. Он может быть как корректным, так и ошибочным:
size_t index = 5;
Перед тем как обратиться к элементу по индексу, обязательно проверим, не выходит ли он за допустимые границы вектора. Это защитит программу от ошибки доступа к памяти:
if (index < data.size()) {
std::cout << "Элемент: " << data[index] << '\n';
} else {
std::cout << "Ошибка: индекс вне диапазона\n";
}
Возможный результат при запуске (если индекс выходит за пределы размера вектора):
Ошибка: индекс вне диапазона
🔥 Так ты можешь безопасно обращаться к элементам вектора — без риска краха программы и без try-catch, которые могут быть избыточными в простых случаях.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍10🔥5👎1🤝1
👍11🔥5❤4
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥45👍7❤6🤝2
В этой статье:
• Быстрый запуск мини-REST-сервера на ASP.NET Web API
• Тестирование CRUD-эндпоинтов через curl
• Установка cpr через vcpkg и полный C++-листинг
🔊 Советую продолжить читать на Habr!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤6🔥4
Сохраняем и читаем JSON за пару строк!
Сейчас научимся быстро сохранять и загружать данные в формате JSON с помощью удобной заголовочной библиотеки nlohmann::json. Она не требует сложной установки — достаточно одного файла, и ты сразу можешь использовать удобный синтаксис работы с JSON.
Сначала подключим нужную библиотеку и настроим псевдоним для удобства:
Теперь создадим JSON-объект и сохраним его в файл. Здесь мы вручную записываем пары ключ-значение — это может быть имя, возраст, настройки и что угодно ещё:
А затем прочитаем этот JSON обратно из файла и выведем нужные поля. Это удобно для загрузки конфигов, пользовательских данных или состояния программы:
Результат при запуске:
🔥 Таким образом ты можешь работать с JSON-файлами в C++ — просто, понятно и без лишних зависимостей.
📣 C++ Ready | #практика
Сейчас научимся быстро сохранять и загружать данные в формате JSON с помощью удобной заголовочной библиотеки nlohmann::json. Она не требует сложной установки — достаточно одного файла, и ты сразу можешь использовать удобный синтаксис работы с JSON.
Сначала подключим нужную библиотеку и настроим псевдоним для удобства:
#include <nlohmann/json.hpp>
#include <fstream>
using json = nlohmann::json;
Теперь создадим JSON-объект и сохраним его в файл. Здесь мы вручную записываем пары ключ-значение — это может быть имя, возраст, настройки и что угодно ещё:
json j = {{"name", "Alice"}, {"age", 30}};
std::ofstream("data.json") << j.dump(4);
// 4 — отступы для читаемости
А затем прочитаем этот JSON обратно из файла и выведем нужные поля. Это удобно для загрузки конфигов, пользовательских данных или состояния программы:
json j;
std::ifstream("data.json") >> j;
std::cout << j["name"] << ", " << j["age"] << '\n';
Результат при запуске:
Alice, 30
🔥 Таким образом ты можешь работать с JSON-файлами в C++ — просто, понятно и без лишних зависимостей.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥12❤7
This media is not supported in your browser
VIEW IN TELEGRAM
Он объединяет свежие версии стандартов, отчёты рабочих групп, руководства по современным возможностям языка, календарь профильных мероприятий и подборку авторитетных ресурсов для углублённого изучения C++.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12🤝7🔥4