ch
Feedback
Библиотека C/C++ разработчика

Библиотека C/C++ разработчика

前往频道在 Telegram

Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter

显示更多
7 321
订阅者
-324 小时
+57
+1230
帖子存档
22 общие задачи работы с файловыми системами на C++20 Работа с файловой системой может показаться сложной задачей, но это не
22 общие задачи работы с файловыми системами на C++20 Работа с файловой системой может показаться сложной задачей, но это не обязательно так. В этом посте я проведу вас через некоторые из самых распространенных операций с файловой системой, используя мощные функции, введенные в C++17, а также некоторые новые улучшения в C++20/23. Независимо от того, создаете ли вы каталоги, копируете файлы или управляете разрешениями, эти примеры помогут вам понять и эффективно использовать библиотеку std::filesystem. https://www.cppstories.com/2024/common-filesystem-cpp20/ #cpp #programming 👉 @cpp_lib

Генерация пароля с помощью C++ #cpp #programming 👉 @cpp_lib

Прокачай свои скилы с Алексеем Рыбаком! 🚀 Надоели скучные задачи по программированию? 💻 Время перейти на новый уровень! 🎖П
Прокачай свои скилы с Алексеем Рыбаком! 🚀 Надоели скучные задачи по программированию? 💻 Время перейти на новый уровень! 🎖Приглашаем бекендеров и инженеров инфраструктуры на уникальный трехмесячный курс по системному дизайну и архитектуре высоконагруженных систем от Алексея Рыбака, главы разработки Bumble/Badoo с 20-летним опытом в highload проектировании. В чем ценность этого курса? ✅ Огненная практика с первых дней обучения на реальных кейсах и собственной инфраструктуре ✅ Погружение «под капот» хайлоад систем, изучение паттернов и приемов масштабирования ✅ Топовые фишки и знания по архитектуре проектов и системному дизайну больших проектов (1-100M DAU) ✅ Живые сессии, брейнштормы, проектирование “у доски” На выходе у вас появится опыт: ✅ Проектирования сложных систем ✅ Нагрузочного тестирования своей инфраструктуры (выжмете 100К запросов) ✅ Планирования ресурсов для проектов с большим количеством пользователей ✅ Масштабирования IT-проектов ✅ Практический опыт работы с кластерами Redis, CockroachDB и шардированными PostgreSQL/MySQL ✅ И многое другое! ➡️ Регистрируйся и погружайся в нескучный хайлоад Реклама ИП Рыбак А. А. ИНН 771407709607

Как вывести форматированный текст на экран в C++ Рано или поздно у каждого программиста появляется желание вывести форматиров
Как вывести форматированный текст на экран в C++ Рано или поздно у каждого программиста появляется желание вывести форматированный текст на экран. Немудрено, у пляшущих на экране буковок есть свой неповторимый шарм, а факт форматированности добавляет им еще и загадочности — мы можем даже не догадываться, что в точности будет напечатано. Но как сделать это оптимально и кроссплатформенно? https://habr.com/ru/articles/748336/ #cpp #programming 👉 @cpp_lib

📣Асинхронное программирование с помощью boost.asio: освойте мощные инструменты! 🚀 Приглашаем вас на открытый вебинар 3 октя
📣Асинхронное программирование с помощью boost.asio: освойте мощные инструменты! 🚀 Приглашаем вас на открытый вебинар 3 октября в 20:00 мск, где мы разберем: - как работать с iocontext, корутинами, strand, executor и threadpool; - применение boost.asio для создания асинхронных приложений; - ответы на все возникающие вопросы. Встречаемся в преддверии старта курса «C++ Developer. Professional». Все участники вебинара получат специальную цену на обучение! ➡Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://otus.pw/MTQC/?erid=2Vtzqw3z7qz Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Реализация подписчиков в c++ — пляшем от печки, но уже совсем далеко В прошлой статье мы написали вполне себе разумный оповещатель (notifier) для рассылки уведомлений подписчикам (subscribers). Он достаточно удобен, там нет ничего лишнего - всего 130 строчек кода. Моменты, важные для клиентов этого кода, продуманы. Как например, многопоточный вызов доставки оповещений с минимальными взаимными блокировками и возможность отписывать прямо из обработчика подписчика. На этом бы и остановиться, но мы шагнём дальше, добавив немного шаблонной магии и сделав код "академичнее". https://habr.com/ru/articles/843530/ #cpp #programming 👉 @cpp_lib

Шутер «Проект Кощей», разработка игр на SFML C++ Шутеры — это один из самых популярных жанров видеоигр, который появился в на
Шутер «Проект Кощей», разработка игр на SFML C++ Шутеры — это один из самых популярных жанров видеоигр, который появился в начале 90-х годов. Первые шутеры были созданы для персональных компьютеров и имели простейшую графику и управление. Однако, они были невероятно популярны, и в скором времени стали самыми продаваемыми играми. Первая игра, которую можно отнести к жанру шутеров, была Wolfenstein 3D, созданная компанией id Software в 1992 году. Она является первой игрой, в которой игрок управляет персонажем от первого лица, противостоящим врагам на экране. Wolfenstein 3D также стала первой игрой, которая использовала 3D‑графику в реальном времени. Она была невероятно популярна и стала основой для многих последующих шутеров. В 1993 году id Software выпустила игру Doom, которая стала еще более популярной, чем Wolfenstein 3D. Doom была первой игрой, которая использовала сетевой мультиплеер, что позволило игрокам из разных частей мира сражаться друг с другом через интернет. В 1996 году компания Valve выпустила игру Half‑Life, которая стала новой эволюцией жанра. Она представила новые элементы, такие как непрерывный геймплей, сюжет и персонажи, а также новую графику и физический движок. https://habr.com/ru/articles/739584/ #cpp #programming 👉 @cpp_lib

❓ Где можно использовать префиксные деревья? При реализации множеств и ассоциативных массивов. А где можно посмотреть, как вы
Где можно использовать префиксные деревья? При реализации множеств и ассоциативных массивов. А где можно посмотреть, как выполняется алгоритм ассоциативного массива на основе префиксного дерева? 🚀 На нашем открытом онлайн-уроке! 💯 Мы выполним визуальное тестирование загрузкой 2000 слов в массив англо-русского словаря. Вебинар «Префиксное дерево» проведёт Евгений Волосатов, программист БД с 25-летним опытом. 👨‍💻🛠👨🏻‍💻 Будет интересно: junior-разработчикам на любых языках программирования. 📅 7 октября, 20:00 МСК 🆓 Бесплатно в рамках старта курса «Алгоритмы и структуры данных». 🔴 Записаться на открытый урок: https://vk.cc/cBhgUB Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

(Жизненный) cовет от создателя C++ Создатель C++, Бьёрн Страуструп, делится ценными жизненными советами, которыми, скажем прямо, могли бы воспользоваться все разработчики, независимо от их многолетнего опыта. По словам Бьерна, «вы не можете просто писать код», вам нужно развивать больше навыков, если вы хотите стать всесторонним успешным разработчиком. Посмотрите это неизданное интервью, если вы хотите получить вдохновение и рекомендации на своем пути разработчика от одного из OG. источник #cpp #programming 👉 @cpp_lib

Пишем на С++ вектор, умеющий расширяться без копирования элементов В языке С есть функции malloc, free и realloc. При использ
Пишем на С++ вектор, умеющий расширяться без копирования элементов В языке С есть функции malloc, free и realloc. При использовании последней вы можете написать этакий расширяющийся массив из примитивных типов или структур (классов-то нет), который, можно надеяться, не будет копировать все данные при каждом расширении. В С++ есть встроенный класс vector, который представляет из себя расширяющийся массив, но он так не умеет: при каждом расширении вектора выделяется новый участок памяти и все элементы перемещаются на него (по возможности, с использованием move-семантики). Но ведь, если можно каждый раз не копировать все старые элементы на новое место, вектор должен работать быстрее? В этой статье я попробую написать вектор, который умеет расширяться без копирования элементов. Сначала я покажу, что стандартный вектор не умеет расширяться без копирования/перемещения, потом обсужу придуманное решение, потом собственно приведу реализацию вектора, а в конце сравню производительность со стандартным вектором. https://habr.com/ru/post/701784/ #cpp #programming 👉 @cpp_lib

Подборка Telegram каналов для программистов Системное администрирование 📌 https://t.me/devops_star DevOps Star (Звезда Девопса) https://t.me/i_linux Системный администратор https://t.me/linuxchmod Linux https://t.me/sys_adminos Системный Администратор https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало) https://t.me/sysadminof Книги для админов, полезные материалы https://t.me/i_odmin Все для системного администратора https://t.me/i_odmin_book Библиотека Системного Администратора https://t.me/i_odmin_chat Чат системных администраторов https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др. https://t.me/sysadminoff Новости Линукс Linux 1C разработка 📌 https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С Программирование C++📌 https://t.me/cpp_lib Библиотека C/C++ разработчика https://t.me/cpp_knigi Книги для программистов C/C++ https://t.me/cpp_geek Учим C/C++ на примерах Программирование Python 📌 https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍 https://t.me/BookPython Библиотека Python разработчика https://t.me/python_real Python подборки на русском и английском https://t.me/python_360 Книги по Python Rus Java разработка 📌 https://t.me/BookJava Библиотека Java разработчика https://t.me/java_360 Книги по Java Rus https://t.me/java_geek Учим Java на примерах GitHub Сообщество 📌 https://t.me/Githublib Интересное из GitHub Базы данных (Data Base) 📌 https://t.me/database_info Все про базы данных Мобильная разработка: iOS, Android 📌 https://t.me/developer_mobila Мобильная разработка https://t.me/kotlin_lib Подборки полезного материала по Kotlin Фронтенд разработка 📌 https://t.me/frontend_1 Подборки для frontend разработчиков https://t.me/frontend_sovet Frontend советы, примеры и практика! https://t.me/React_lib Подборки по React js и все что с ним связано Разработка игр 📌 https://t.me/game_devv Все о разработке игр Библиотеки 📌 https://t.me/book_for_dev Книги для программистов Rus https://t.me/programmist_of Книги по программированию https://t.me/proglb Библиотека программиста https://t.me/bfbook Книги для программистов https://t.me/books_reserv Книги для программистов БигДата, машинное обучение 📌 https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning Программирование 📌 https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций https://t.me/coddy_academy Полезные советы по программированию https://t.me/rust_lib Полезный контент по программированию на Rust https://t.me/golang_lib Библиотека Go (Golang) разработчика https://t.me/itmozg Программисты, дизайнеры, новости из мира IT https://t.me/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 https://t.me/nodejs_lib Подборки по Node js и все что с ним связано https://t.me/ruby_lib Библиотека Ruby программиста QA, тестирование 📌 https://t.me/testlab_qa Библиотека тестировщика Шутки программистов 📌 https://t.me/itumor Шутки программистов Защита, взлом, безопасность 📌 https://t.me/thehaking Канал о кибербезопасности https://t.me/xakep_1 Статьи из "Хакера" Книги, статьи для дизайнеров 📌 https://t.me/ux_web Статьи, книги для дизайнеров Английский 📌 https://t.me/UchuEnglish Английский с нуля Математика 📌 https://t.me/Pomatematike Канал по математике https://t.me/phis_mat Обучающие видео, книги по Физике и Математике Excel лайфхак📌 https://t.me/Excel_lifehack https://t.me/tikon_1 Новости высоких технологий, науки и техники💡 https://t.me/mir_teh Мир технологий (Technology World) Вакансии 📌 https://t.me/sysadmin_rabota Системный Администратор https://t.me/progjob Вакансии в IT

Разгоняем C++ с кастомными аллокаторами Сегодня мы обратим свой взор на производительность в C++, и как ни странно, нашими гл
Разгоняем C++ с кастомными аллокаторами Сегодня мы обратим свой взор на производительность в C++, и как ни странно, нашими главными героями станут не библиотеки или сложные алгоритмы, а казалось бы, простые аллокаторы. Но не просто аллокаторы, а кастомные, которые могут заметно ускорить работу приложений. Создание базового кастомного аллокатора В основном кастомные аллокаторы реализуются через определение шаблона класса с методами allocate и deallocate, а также с функциями construct и destroy. Пример простого аллокатора:

template<typename T>
class SimpleAllocator {
public:
    using value_type = T;

    SimpleAllocator() noexcept = default;
    template<typename U> constexpr SimpleAllocator(const SimpleAllocator<U>&) noexcept {}

    T* allocate(std::size_t n) {
        if (n > std::numeric_limits<std::size_t>::max() / sizeof(T))
            throw std::bad_alloc();
        if (auto p = static_cast<T*>(std::malloc(n * sizeof(T)))) {
            return p;
        }
        throw std::bad_alloc();
    }

    void deallocate(T* p, std::size_t) noexcept {
        std::free(p);
    }

    template<typename U, typename... Args>
    void construct(U* p, Args&&... args) {
        new(p) U(std::forward<Args>(args)...);
    }

    template<typename U>
    void destroy(U* p) noexcept {
        p->~U();
    }
};
https://habr.com/ru/companies/otus/articles/830104/ #cpp #programming 👉 @cpp_lib

CodeChecker: анализируем большой проект на С++ быстро, эффективно и бесплатно Привет, Меня зовут Давид, еще недавно я был ста
CodeChecker: анализируем большой проект на С++ быстро, эффективно и бесплатно Привет, Меня зовут Давид, еще недавно я был стажером YADRO, а сейчас работаю в отделе разработки ПО поддержки сетевой аппаратной части. У нас в команде есть большой проект на более 100 000 строк, написан на C++ (и частично на С). Код переписывался много раз, а за самим проектом на правах легаси особо никто не следил: работает — не трогай. Когда я пришел в команду, у меня была задача: привести код в порядок и отловить ошибки, которые пропускает компилятор — например, возможное разыменование нулевого указателя, неинициализированные переменные или простые опечатки. Одним из очевидных решений было использование статического анализатора. Выбрали довольно известное коммерческое решение, но долгие прогоны не привели ни к чему дельному. Решили поэкспериментировать с другими вариантами статических анализаторов, сделав ставку на open source. Поиски привели к инфраструктуре CodeCheсker, которая предоставляет удобный интерфейс запуска и настройки статических анализаторов через аргументы командной строки. С помощью инструмента удалось достичь результатов, которые значительно превысили значения, полученные на коммерческом решении. Под катом расскажу, что же такое CodeCheсker, как с ним работать и почему его точно стоит попробовать на большом проекте. https://habr.com/ru/companies/yadro/articles/838878/ #cpp #programming 👉 @cpp_lib

Что можно знать о C++ в 16 лет? Сегодня мы собеседуем Богдана и проверяем его познания в C++ Проверим, насколько рано можно программировать. Приятного просмотра! источник #cpp #programming 👉 @cpp_lib

Подборка Telegram каналов для программистов Системное администрирование 📌 https://t.me/devops_star DevOps Star (Звезда Девопса) https://t.me/i_linux Системный администратор https://t.me/linuxchmod Linux https://t.me/sys_adminos Системный Администратор https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало) https://t.me/sysadminof Книги для админов, полезные материалы https://t.me/i_odmin Все для системного администратора https://t.me/i_odmin_book Библиотека Системного Администратора https://t.me/i_odmin_chat Чат системных администраторов https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др. https://t.me/sysadminoff Новости Линукс Linux 1C разработка 📌 https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С Программирование C++📌 https://t.me/cpp_lib Библиотека C/C++ разработчика https://t.me/cpp_knigi Книги для программистов C/C++ https://t.me/cpp_geek Учим C/C++ на примерах Программирование Python 📌 https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍 https://t.me/BookPython Библиотека Python разработчика https://t.me/python_real Python подборки на русском и английском https://t.me/python_360 Книги по Python Rus Java разработка 📌 https://t.me/BookJava Библиотека Java разработчика https://t.me/java_360 Книги по Java Rus https://t.me/java_geek Учим Java на примерах GitHub Сообщество 📌 https://t.me/Githublib Интересное из GitHub Базы данных (Data Base) 📌 https://t.me/database_info Все про базы данных Мобильная разработка: iOS, Android 📌 https://t.me/developer_mobila Мобильная разработка https://t.me/kotlin_lib Подборки полезного материала по Kotlin Фронтенд разработка 📌 https://t.me/frontend_1 Подборки для frontend разработчиков https://t.me/frontend_sovet Frontend советы, примеры и практика! https://t.me/React_lib Подборки по React js и все что с ним связано Разработка игр 📌 https://t.me/game_devv Все о разработке игр Библиотеки 📌 https://t.me/book_for_dev Книги для программистов Rus https://t.me/programmist_of Книги по программированию https://t.me/proglb Библиотека программиста https://t.me/bfbook Книги для программистов https://t.me/books_reserv Книги для программистов БигДата, машинное обучение 📌 https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning Программирование 📌 https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций https://t.me/coddy_academy Полезные советы по программированию https://t.me/rust_lib Полезный контент по программированию на Rust https://t.me/golang_lib Библиотека Go (Golang) разработчика https://t.me/itmozg Программисты, дизайнеры, новости из мира IT https://t.me/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 https://t.me/nodejs_lib Подборки по Node js и все что с ним связано https://t.me/ruby_lib Библиотека Ruby программиста QA, тестирование 📌 https://t.me/testlab_qa Библиотека тестировщика Шутки программистов 📌 https://t.me/itumor Шутки программистов Защита, взлом, безопасность 📌 https://t.me/thehaking Канал о кибербезопасности https://t.me/xakep_1 Статьи из "Хакера" Книги, статьи для дизайнеров 📌 https://t.me/ux_web Статьи, книги для дизайнеров Английский 📌 https://t.me/UchuEnglish Английский с нуля Математика 📌 https://t.me/Pomatematike Канал по математике https://t.me/phis_mat Обучающие видео, книги по Физике и Математике Excel лайфхак📌 https://t.me/Excel_lifehack https://t.me/tikon_1 Новости высоких технологий, науки и техники💡 https://t.me/mir_teh Мир технологий (Technology World) Вакансии 📌 https://t.me/sysadmin_rabota Системный Администратор https://t.me/progjob Вакансии в IT

Zork Zork++ появился из необходимости создавать проекты на C++ с использованием модуля, введенного в стандарте C++20. Существующие системы сборки имеют ограничения и сложности в использовании модулей C++20 на постоянной основе. Поэтому мы начали разрабатывать инструмент, который берет некоторые файлы C++, генерирует необходимые команды для компилятора и вызывает компилятор для создания требуемого исполняемого файла или библиотеки! https://github.com/zerodaycode/Zork #cpp #programming 👉 @cpp_lib https://github.com/zerodaycode/Zork

📕CMake Best Practices: Discover proven techniques for creating and maintaining programming projects with CMake Автор: Domini
📕CMake Best Practices: Discover proven techniques for creating and maintaining programming projects with CMake Автор: Dominik Berner (2022) Вы не только познакомитесь с основами, но и разберете реальные примеры структурирования больших и сложных сопровождаемых проектов и создания сборок, работающих в любой среде программирования. Вы поймете, как интегрировать и автоматизировать различные инструменты для повышения общего качества программного обеспечения, такие как фреймворки тестирования, фаззеры и автоматическая генерация документации. А поскольку написание кода — это только половина работы, книга также поможет вам создать инсталляторы, упаковать и распространить ваше программное обеспечение. Все это адаптировано к современным рабочим процессам разработки, в которых активно используется инфраструктура CI/CD. #cpp #programming 👉 @cpp_lib

❓Хотите стать востребованным разработчиком на С++? Пора понять процесс компиляции и научиться быстро решать проблемы при сбор
Хотите стать востребованным разработчиком на С++? Пора понять процесс компиляции и научиться быстро решать проблемы при сборке программ 🗓 Ждем вас на открытом вебинаре 17 сентября в 20:00 мск, где мы разберем: - из каких этапов состоит компиляция программы на С++; - как анализировать результаты выполнения каждого этапа; - какие проблемы могут возникнуть и как их решать. Встречаемся в преддверии старта курса «Специализация C++ Developer». Все участники вебинара получат специальную цену на обучение! 👉 Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cAHk08 Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

std::execution принят в C++26 — пора знакомиться Единый фреймворк асинхронности и параллелизма, возможность делить вычислител
std::execution принят в C++26 — пора знакомиться Единый фреймворк асинхронности и параллелизма, возможность делить вычислительные ресурсы разными кодовыми базами без сложной интеграции, простота использования и гибкость - все это то, чего в C++ никогда не было. В конце июня стандартный комитет одобрил включение std::execution (P2300) в C++26. Это пропозал, который призван решить вышеуказанные проблемы. Давайте разбираться! https://habr.com/ru/articles/842316/ #cpp #programming 👉 @cpp_lib

Дорогая, я уменьшил {fmt}: уменьшил размер до 14kB и избавился от рантайма C++ Библиотека форматирования {fmt} известна своим
Дорогая, я уменьшил {fmt}: уменьшил размер до 14kB и избавился от рантайма C++ Библиотека форматирования {fmt} известна своим небольшим влиянием на размер бинарников. Чаще всего её код в несколько раз меньше по сравнению с такими библиотеками, как IOStreams, Boost Format или, что иронично, tinyformat. Давайте разберем, как можно уменьшить размер бинарников еще больше! https://habr.com/ru/companies/beget/articles/842566/ original https://vitaut.net/posts/2024/binary-size/ #cpp #programming 👉 @cpp_lib