uz
Feedback

Firibgarlarga uchmang! Telemetrio bunday kanallarni topadi va belgilaydi 👉 Belgini ko‘rmoqchi bo‘lsangiz, obuna bo‘ling

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

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

Kanalga Telegram’da o‘tish

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

Ko'proq ko'rsatish
7 198
Obunachilar
+224 soatlar
-27 kun
-2730 kun
Postlar arxiv
Неклассические контейнеры в C++ Контейнер - это объект, используемый для хранения других объектов. Контейнер берет на себя уп
Неклассические контейнеры в C++ Контейнер - это объект, используемый для хранения других объектов. Контейнер берет на себя управление всей памятью, которые эти объекты занимают. В стандартную библиотеку C++ входит несколько контейнеров. Кроме этого, в Open Source есть несколько контейнеров, которые покрывают больше юзкейсов. Я опишу устройство интересных контейнеров вне STL1 и их отличия от классических контейнеров. https://habr.com/ru/post/664044/ #cpp #programming 👉 @cpp_lib

The Design and Evolution of C++ Бьерн Страуструп (2016) Эту книгу стоит прочесть каждому, кого интересует вопрос создания с нуля языков программирования. Создатель одного из самых популярных языков программирования, Бьёрн Страуструп, расскажет о процессе проектирования и создания С++. Рассмотрены не только основы и принципы, заложенные в С++, но и дизайн современных средств языка: шаблоны, исключения, пространства имён и прочее. Также автор продемонстрирует правильное применение объектно-ориентированных языков. В книге рассматриваются следующие темы: ✔️ предыстория С++; ✔️ язык С с классами; ✔️ цели С++; ✔️ языки С и С++; ✔️ правила проектирования С++; ✔️ стандартизация; ✔️ библиотеки; ✔️ перспективы развития С++ и многое другое. 👉 @cpp_knigi

[MUC++] Елизавета Шуланкина - Анализ приложений на C++ для оптимизации производительности Некоторые из нас, вольно или невольно, сталкивались с необходимостью анализа кода для повышения производительности. Конечно, мы прибегали к различным профилировщикам кода, чтобы выяснить, что не так с нашим идеально написанным кодом... И чаще всего профилировщик удивлял нас, указывая на узкое место в коде! Этот доклад станет введением в оптимизацию производительности приложений на C++ с помощью таких инструментов, как Intel VTune Profiler и Intel Advisor. Мы кратко рассмотрим шаги по оптимизации производительности, затем возьмем небольшое приложение на C++ и попросим VTune и Advisor помочь нам понять, что происходит, каковы узкие места в производительности и как с ними справиться, чтобы сделать наше приложение эффективным с точки зрения памяти и вычислений. Мы проведем несколько итераций настройки этого приложения на C++ и посмотрим, как оно ускорится. https://www.youtube.com/watch?v=M1D8iez1Ph0 источник #cpp #programming 👉 @cpp_lib

Технические собеседования: что болит у тех, кто их проводит и кто на них приходит Константин Владимиров, Елена Степанова, Илья Казаков (все YADRO) и Илья Шишков (экс-Яндекс) обсудили с аудиторией московского C++ митапа все, что наболело в теме собеседований. 00:00 - Кто больше всех насобеседовал в своей карьере 01:35 - "Собеседования как пощечина вузовскому образованию" 02:20 - Стоит ли "спрашивать кандидата за резюме" (особенно когда собеседуешь не в свою команду) 05:55 - Лучшее собеседование в жизни Елены Степановой 07:45 - Можно ли обойтись без leetcode и алгоритмических секций 13:35 - Стоит ли применять подход fake it till you make it 16:30 - Грустная история про стажера и софтскиллы 17:45 - Вопрос про выбор между опытом и остротой ума или "проблема вагонетки" 21:10 - Вопрос про интересные вопросы и неожиданные ответы 24:40 - Продолжение грустной истории про стажера и софтскиллы 26:35 - Про ключевые вопросы и красные флаги на собеседованиях 34:35 - О фидбеке после интервью (и почему его не всегда дают) 35:45 - Вопрос про код-ревью как форму собеседования 36:45 - Как понять, надолго ли к вам выйдет кандидат 38:30 - Вопрос про Qt и зло ли это 41:50 - Про каверзные вопросы и нужны ли они 43:25 - Вопрос про странных интервьюеров 45:10 - Стоит ли спрашивать про алгоритмы того, кто будет перекладывать байтики 47:50 - Итоговый вопрос для Константина Владимирова источник #cpp #programming 👉 @cpp_lib

Modern CMake for C++: Discover a better approach to building, testing and packaging your software Rafal Swidzinski (2022) В книге рассказывается о том, как формировать исходные каталоги, а также создавать целевые объекты и пакеты. По мере продвижения вы узнаете, как компилировать и связывать исполняемые файлы и библиотеки, как эти процессы работают в деталях и как оптимизировать все шаги для достижения наилучших результатов. Вы также поймете, как добавить в проект внешние зависимости: сторонние библиотеки, фреймворки тестирования, инструменты анализа программ и генераторы документации. Наконец, вы узнаете, как экспортировать, установить и упаковать ваше решение для внутренних и внешних целей. Прочитав эту книгу, вы сможете уверенно использовать CMake на профессиональном уровне. 👉 @cpp_knigi

Длительность хранения и нелокальные объекты в C++ C++ позволяет нам объявлять различные формы нелокальных объектов: обычно он
Длительность хранения и нелокальные объекты в C++ C++ позволяет нам объявлять различные формы нелокальных объектов: обычно они живут на протяжении всего выполнения программы. В этой статье мы рассмотрим глобальные переменные, динамические и потоково-локальные объекты. Также мы рассмотрим новые возможности безопасной инициализации C++20. https://www.cppstories.com/2023/storage-init-cpp/ #cpp #programming 👉 @cpp_lib

🔥 Хардкорный тест для разработчиков, тимлидов и архитекторов! 💻 Ответьте на 11 вопросов и узнайте, достаточно ли у вас знан
🔥 Хардкорный тест для разработчиков, тимлидов и архитекторов! 💻 Ответьте на 11 вопросов и узнайте, достаточно ли у вас знаний, чтобы пройти онлайн-курс «Software Architect». 🏆 Курс поможет прокачать весь арсенал навыков, необходимых архитектору ПО. 👉 Пройти тест - https://vk.cc/ctkmr4 🎓Успешное прохождение теста откроет: ✔️ Лучшие открытые уроки прошлых наборов курса ✔️ Скидку на прохождение онлайн курса «Software Architect» Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Современный С++ в разработке девайсов Меня зовут Андрей Белобров. Я тимлид одной из команд, разрабатывающих приложения для ум
Современный С++ в разработке девайсов Меня зовут Андрей Белобров. Я тимлид одной из команд, разрабатывающих приложения для умных девайсов Сбера. На прошедшей недавно конференции Салют, OS DevConf! я выступил с докладом, в котором рассказал, как мы с командой разрабатываем приложения на С++ для умных устройств с виртуальным ассистентом. А также о том, как инструменты статического и динамического анализа помогают поддерживать единый стиль и высокое качество кода в проекте. Во время доклада меня попросили подробнее описать детали нашего подхода в статье, поэтому рад поделиться с вами расширенной текстовой версией. Все наши устройства должны уметь взаимодействовать c виртуальным ассистентом, проигрывать музыку, обновлять прошивку, выполнять аутентификацию пользователя и т.д.. Такая функциональность реализована в едином для всех платформ приложении, работающем в пользовательском режиме на каждом из наших устройств, будь то умная колонка, ТВ-приставка или умный телевизор. Язык С++ позволяет писать эффективный и переносимый между различными платформами код, поэтому выбор языка программирования для нашего приложения был очевиден. При этом язык известен своей сложностью и возможностью выполнить одну и ту же задачу несколькими способами. Чтобы успешно разрабатывать большой проект на языке C++, необходимо хорошо настроить процесс разработки в команде (а у нас это несколько десятков инженеров). Также можно значительно осовременить разработку на C++ за счет использования подходящих инструментов статического и динамического анализа и правильной интеграции их в процесс разработки. https://habr.com/ru/companies/sberdevices/articles/780476/ #cpp #programming 👉 @cpp_lib

21 фича современного C++, которые вам обязательно пригодятся Итак, судьба снова свела вас с C++, и вы поражены его возможност
21 фича современного C++, которые вам обязательно пригодятся Итак, судьба снова свела вас с C++, и вы поражены его возможностями с точки зрения производительности, удобства и выразительности кода. Но вот незадача: вы теряетесь в этом многообразии замечательных новых фич и, как следствие, затрудняетесь сходу определить, что из этого всего вам действительно стоило бы взять на вооружение в своей повседневной работе по написанию кода. Не стоит расстраиваться, в этой статье вашему вниманию будут представлены 21 новая фича современного C++, которые помогут сделать ваш проект лучше, а работу над ним легче. https://www.vishalchovatiya.com/21-new-features-of-modern-cpp-to-use-in-your-project/ #cpp #programming 👉 @cpp_lib

🔥Магия вне Хогвартса для начинающих Embedded Developer! 19 декабря в 20.00 (мск) приглашаем на открытый урок курса Embedded
🔥Магия вне Хогвартса для начинающих Embedded Developer! 19 декабря в 20.00 (мск) приглашаем на открытый урок курса Embedded Developer в OTUS «Философский камень или как оживить кристалл кодом», где вы узнаете: - как программируются микроконтроллеры; - какие языки для этого используют; - способы написания кода и его влияние; - что такое фреймворки и какие они бывают; - что такое RTOS и почему это высший навык программирования. ⚡Занятие приурочено к старту курса, программа которого позволит погрузиться в три самые важные области: программирование микроконтроллеров, проектирование печатных плат, схемотехника. А по итогам обучения вы сможете разработать собственное цифровое устройство. 👉Регистрация для участия https://otus.pw/8ksm/?erid=LjN8KKBAe После урока возможно продолжить обучение по специальной цене и с рассрочкой платежа. Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

C++ System Programming Cookbook: Practical recipes for Linux system-level programming using the latest C++ features Onorato Vaticone (2020) C++ является хорошим выбором для системного программирования из-за его эффективных низкоуровневых вычислений, абстракции данных и объектно-ориентированных особенностей. Системное программирование - это разработка и написание компьютерных программ, которые тесно взаимодействуют с базовой операционной системой и позволяют компьютерному оборудованию взаимодействовать с программистом и пользователем. Данная книга послужит справочником для разработчиков, которые хотят иметь готовые к использованию решения для основных аспектов системного программирования. 👉 @cpp_knigi

Магия swizzle из шейдеров в C++ В шейдере мы можем написать vec3 v0 = v1.xxy * 2, а также любую другую комбинацию x, y, z и w
Магия swizzle из шейдеров в C++ В шейдере мы можем написать vec3 v0 = v1.xxy * 2, а также любую другую комбинацию x, y, z и w в зависимости от длины вектора. Я рассматриваю только размеры вектора до 4, как самые распространенные для использования. Полученный вектор может иметь не только ту же самую размерность, но и меньшую или большую, причем его компоненты могут быть скопированы в произвольном порядке. Эта операция называется 'swizzle', и она чертовски удобна для различных операций с малоразмерными векторами, особенно если они представляют игровые сущности в виде позиций, размера или цветов. Вектора используются повсюду в игровых проектах (да и не только в игровых), а не только в шейдерах. В какой-то момент было решено добавить 'swizzle' в наш игровой движок в базовые классы vec2, vec3 и vec4. Возникли вопросы: как добиться такого же синтаксического и семантического поведения в C++ коде, при этом минимизируя потери производительности. https://habr.com/ru/articles/779616/ #cpp #programming 👉 @cpp_lib

Начните изучение архитектуры ПО с бесплатного открытого урока «Модели взаимодействия или модели хранения данных» от OTUS. На
Начните изучение архитектуры ПО с бесплатного открытого урока «Модели взаимодействия или модели хранения данных» от OTUS. На вебинаре: - рассмотрим различные типы хранилищ: реляционные базы данных, NoSQL-базы и хранилища файлов; - узнаем, как выбрать наиболее подходящий тип хранилища для различных сценариев и требований; - изучим популярные модели CQRS и Event Sourcing. Занятие пройдёт 20 декабря в 20:00 мск и будет приурочено к старту курса «Software Architect». После урока вы сможете продолжить обучение в рассрочку по специальной цене. Регистрируйтесь бесплатно прямо сейчас и ставьте событие в календарь, чтобы ничего не пропустить: https://vk.cc/cteZAe Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

О хранении изображений в памяти с выравниванием В разговорах с коллегами, а также по отдельным постам на форумах я заметил, ч
О хранении изображений в памяти с выравниванием В разговорах с коллегами, а также по отдельным постам на форумах я заметил, что даже относительно опытные разработчики порой не очень понимают особенности хранения изображений в памяти. Если вы знаете, что такое выравнивание на границу 64-x байт, а также термины типа «длина или шаг строки (LineWidth/StepWidth, Stride)», «зазоры выравнивания (Alignment Gaps)», кроме того в курсе размеров линий кэша и страниц, то вам, вероятно, не будет интересно, а остальные, особенно те, кто интересуется обработкой изображений — могут ознакомиться с предлагаемым материалом, и, возможно найдут для себя что-то новое и полезное. Под катом будет немножко кода на Си и ассемблере, пара LabVIEW скриншотов, предполагается также, что у читателя есть базовые знания OpenCV. Для экспериментов понадобится компьютер с камушком, поддерживающим AVX2, всё это под Windows 11 x64. https://habr.com/ru/articles/773948/ #cpp #programming 👉 @cpp_lib

Простая в реализации arena-friendly hash map https://nullprogram.com/blog/2023/09/30/ #cpp #programming 👉 @cpp_lib
Простая в реализации arena-friendly hash map https://nullprogram.com/blog/2023/09/30/ #cpp #programming 👉 @cpp_lib

Где изучать C++ с нуля до Middle-уровня? 19 декабря в 20:00 мск на открытом уроке мы разберем пример реализации полиморфизма
Где изучать C++ с нуля до Middle-уровня? 19 декабря в 20:00 мск на открытом уроке мы разберем пример реализации полиморфизма на языке С++. Что будет на занятии: - реальных практический пример использования полиморфизма, а не синтетические животные или геометрические фигуры, как это часто встречается в учебниках; - синтаксис языка C++ для объявления виртуальных функций; - разборе того, как под капотом работают виртуальные функции. Чему научитесь: - в каких случаях полезно использовать полиморфизм - как работать с виртуальными функциями в C++ - какая цена использования виртуальных функций Кому это будет полезно: начинающим программистам на C++ программистам на других языках, которые интересуются C++ Занятие пройдёт в рамках курса «Специализация C++ Developer». После урока вы сможете продолжить обучение на специальных условиях. Для бесплатного участия и получения записи регистрируйтесь прямо сейчас: https://vk.cc/ctd5zw Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Pure Virtual Cast / С++ - производительность и щепотка безопасности. https://www.youtube.com/watch?v=kWBu3Yg5fjE #cpp #programming 👉 @cpp_lib

Майкл Керриск :: Понимание пространств имен пользователей Linux Пользовательские пространства имен лежат в основе многих интересных технологий Linux, позволяющих изолировать и изолировать приложения, например, запускать контейнеры без привилегий root и создавать "песочницу" для плагинов веб-браузеров. В этой презентации мы подробно рассмотрим пользовательские пространства имен, получив базовое представление о том, что такое пользовательское пространство имен, и перейдем к таким вопросам, как: что позволяет вам делать статус "суперпользователя внутри пользовательского пространства имен" (и чего он не позволяет); и какова связь между пользовательскими пространствами имен и другими типами пространств имен (PID, UTS, сетевое и т. д.)? Мы также воспользуемся некоторыми простыми командами оболочки для создания и экспериментов с пользовательскими пространствами имен, чтобы лучше понять, как они работают. источник #cpp #programming 👉 @cpp_lib

Майкл Керриск :: Понимание пространств имен пользователей Linux Пользовательские пространства имен лежат в основе многих интересных технологий Linux, позволяющих изолировать и изолировать приложения, например, запускать контейнеры без привилегий root и создавать "песочницу" для плагинов веб-браузеров. В этой презентации мы подробно рассмотрим пользовательские пространства имен, получив базовое представление о том, что такое пользовательское пространство имен, и перейдем к таким вопросам, как: что позволяет вам делать статус "суперпользователя внутри пользовательского пространства имен" (и чего он не позволяет); и какова связь между пользовательскими пространствами имен и другими типами пространств имен (PID, UTS, сетевое и т. д.)? Мы также воспользуемся некоторыми простыми командами оболочки для создания и экспериментов с пользовательскими пространствами имен, чтобы лучше понять, как они работают. https://www.youtube.com/watch?v=XgThPoL9mPE #cpp #programming 👉 @cpp_lib

erid: LjN8JtLX8 🦾Хардкорный тест по языку С🦾 📌Пройдите тест из 20 вопросов и проверьте, насколько вы готовы к обучению на
erid: LjN8JtLX8 🦾Хардкорный тест по языку С🦾 📌Пройдите тест из 20 вопросов и проверьте, насколько вы готовы к обучению на углубленном курсе - «Программист С» от OTUS. Сможете сдать - пройдете на курс по спеццене! ⏰ Время прохождения теста ограничено 30 минут 👉ПРОЙТИ ТЕСТ Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.