C/C++ Ready | Программирование
описание
Авторский канал по разработке на C и C++. Ресурсы, гайды, задачи, шпаргалки. Информация ежедневно пополняется! Автор: @energy_c РКН: https://clck.ru/3QREHc Реклама на бирже: https://telega.in/c/cpp_ready
14 845
подписчиков
Охват к подписчикам
15,8%
ERR
Реакции к просмотрам
0,61%
628 на 50 постов
Пересылки к просмотрам
1,21%
1 246
Постов в день
2,0
всего 173
Где отзываются чаще
доля реакций к просмотрам- 11 авг.Разберём std::chrono: 7 вещей для нормальной работы со временем в C++! В C++ не стоит хранить таймауты и задержки просто в int, потому что быстро теряется смысл числа: секунды это, миллисекунды или что-то ещё. std::chrono делает единицы измерения частью типа и помогает писать более читаемый код. В этой шпоре: • чем steady_clock отличается от system_clock; • как хранить длительность через duration; • как задавать миллисекунды и секунды; Такой подход особенно полезен в таймерах, retry-логике, логировании, сетевых запросах и измерении производительности. 📣 C++ Ready | #шпора1,74%
- 28 июл.Шпаргалка по random distributions в C++! Например, std::uniform_int_distribution подходит для случайных целых чисел в диапазоне, а std::normal_distribution для значений с нормальным распределением. На картинке распределения из <random>: uniform, bernoulli, binomial, geometric, normal, lognormal, poisson, exponential, gamma, weibull и другие варианты с формулами и графиками. Сохрани, чтобы не потерять! 📣 C++ Ready | #ресурс1,48%
- 09:12Разбираем std::unordered_map 7 методов для работы с ключами! std::unordered_map удобен, когда нужен быстрый доступ по ключу без сортировки. Внутри это хеш-таблица, поэтому важно не только доставать значения, но и правильно добавлять, обновлять и заранее готовить место. Полезно для кешей, индексов, счётчиков, таблиц соответствий и быстрых lookup-структур. 📣 C++ Ready | #шпора1,43%
- 17 авг.Modern C++ Tutorial — гид по возможностям C++11–C++26! На сайте собран открытый учебник по современному C++: auto, range-based for, lambda-выражения, rvalue references, move semantics, smart pointers, concurrency, templates, type traits, constexpr, filesystem и другие возможности новых стандартов. Материал хорошо подходит тем, кто уже знает базовый C++, но хочет перейти от старого стиля к современным приёмам и лучше понимать, зачем появились новые конструкции языка. Оставляю ссылочку: Modern C++ Tutorial 📣 C++ Ready | #ресурс1,26%
- 23 июл.Шпаргалка по special member functions в C++! Например, если в классе объявить деструктор, компилятор уже не будет автоматически объявлять move constructor и move assignment. А если объявить move constructor, copy-операции могут стать deleted. На картинке таблица правил генерации специальных методов класса: default constructor, destructor, copy constructor, copy assignment, move constructor и move assignment в зависимости от того, что уже объявил разработчик. Сохрани, чтобы не потерять! 📣 C++ Ready | #ресурс1,13%
- 25 июл.👍 C++ Best Practices — практические правила разработки на C++! Этот репозиторий помогает писать более безопасный, понятный и удобный для поддержки код. Здесь объясняется, как правильно использовать инструменты разработки, оформлять проекты, избегать распространённых ошибок и учитывать производительность, переносимость и многопоточность. Оставляю ссылочку: GitHub 📱 📣 C++ Ready | #репозиторий1,12%
- 27 июл.👨💻 CppBestPractices — рекомендации по написанию кода! Этот репозиторий представляет собой подробное руководство по современным практикам разработки на C++. В нём собраны рекомендации по организации проектов, стилю кода, оптимизации производительности, тестированию, работе с инструментами анализа и другим аспектам профессиональной разработки. Оставляю ссылочку: GitHub 📱 📣 C++ Ready | #репозиторий1,11%
- 23 июл.без подписи1,11%
- 4 авг.Крутая статья про то, как нарисовать мультяшный взрыв на чистом C++ примерно за 180 строк! В этой статье: • Как работает ray marching и численное пересечение луча с объектом • Как добавить освещение, паттерн, displacement mapping и шум • Как сохранить результат в PPM и получить готовую картинку без графических библиотек Продолжай читать на Habr! 📣 C++ Ready | #статья1,06%
- 3 авг.👨💻 cppreference — информативный справочник по C и C++! Полезный ресурс для разработчиков на C и C++. На сайте собрана подробная документация по языкам и стандартной библиотеке: типы данных, функции, классы, шаблоны, контейнеры, алгоритмы, работа с памятью, потоки, многопоточность и новые возможности стандартов C++11, C++14, C++17, C++20 и C++23. 📌 Оставляю ссылочку: cppreference.com 📣 C++ Ready | #ресурс1,02%
- 26 июл.без подписи1,01%
- 31 июл.Когда в C++ лучше использовать std::span? Иногда функция должна работать с массивом, vector или частью данных, но владеть этими данными ей не нужно. Часто в таком случае передают vector: int sum(const std::vector<int>& values) { int result = 0; for (int value : values) { result += value; } return result; } Проблема в том, что функция теперь привязана именно к std::vector. Если у тебя есть обычный массив, придётся писать перегрузку или создавать vector: int data[] = {1, 2, 3}; // sum(data) не подойдёт В C++20 для таких случаев есть std::span: int sum(std::span<const int> values) { int result = 0; for (int value : values) { result += value; } return result; } Теперь функция принимает разные источники данных: std::vector<int> a{1, 2, 3}; std::array<int, 3> b{4, 5, 6}; int c[] = {7, 8, 9}; sum(a); sum(b); sum(c); Можно передать и часть диапазона: sum(std::span(a).subspan(1, 2)); std::span не владеет памятью. Он просто смотрит на уже существующие данные. Поэтому нельзя возвращать span на локальный массив: std::span<int> bad() { int values[] = {1, 2, 3}; return values; } После выхода из функции массив исчезнет, а span останется висячей ссылкой. 📣 C++ Ready | #совет0,99%