Forwarded from Библиотека C/C++ разработчика
Правила трех, пяти и нуля
В этой статье представлены правила трех, пяти и нуля, а также объясняется, какое из них следует использовать и когда.
Правило трех было придумано еще в 1991 году. Оно расширилось до правила пяти с семантикой перемещений в C++11, но даже оно затем было подчинено правилу нуля. Но что такое все эти правила? И должны ли мы им следовать?
#cpp #programming
👉 @cpp_lib
В этой статье представлены правила трех, пяти и нуля, а также объясняется, какое из них следует использовать и когда.
Правило трех было придумано еще в 1991 году. Оно расширилось до правила пяти с семантикой перемещений в C++11, но даже оно затем было подчинено правилу нуля. Но что такое все эти правила? И должны ли мы им следовать?
#cpp #programming
👉 @cpp_lib
👍6
Forwarded from Библиотека C/C++ разработчика
Решение задач C++
Массивы в C++
Двумерные массивы в C++ | Главная и побочная диагональ матрицы
Рекурсия C++
Двумерный массив C++. Элементы над главной и под главной диагональю.
Динамические массивы C++
Объектно-ориентированное программирование в C++ за 10 минут!
источник
#cpp #programming
👉 @cpp_lib
Массивы в C++
Двумерные массивы в C++ | Главная и побочная диагональ матрицы
Рекурсия C++
Двумерный массив C++. Элементы над главной и под главной диагональю.
Динамические массивы C++
Объектно-ориентированное программирование в C++ за 10 минут!
источник
#cpp #programming
👉 @cpp_lib
👍3❤1
Forwarded from Библиотека C/C++ разработчика
Лучшие способы преобразования перечисления в строку
https://belaycpp.com/2021/08/24/best-ways-to-convert-an-enum-to-a-string/
#cpp #programming
👉 @cpp_lib
https://belaycpp.com/2021/08/24/best-ways-to-convert-an-enum-to-a-string/
#cpp #programming
👉 @cpp_lib
Forwarded from Библиотека C/C++ разработчика
Базовый курс C++ (MIPT, ILab)
1. Scent of C++.
2. Указатели и ссылки
3. Имена и сущности
4. Инициализация и копирование.
5. RAII и перемещение
6. Приведение типов
7. Перегрузка операторов
8. Наследование и полиморфизм
9. Множественное наследование
10. Языки и грамматики
11. Исключения
12. Безопасность исключений
13. Проектирование
14 (доп). OpenGL и Vulkan
15. Вычисления на GPU.
16. Специализация и инстанцирование.
17. Вывод типов и свёртка ссылок.
18. Определители типов и SFINAE
19. Вариабельные шаблоны.
20. Итераторы
21. LLVM, часть 1
22. LLVM, часть 2
23. Последовательные контейнеры.
24. Ассоциативные контейнеры
25. Алгоритмы и функторы.
26. Метапрограммирование.
27. Constexpr функции.
28. Концепты и напутственные слова.
Все видео доступны на youtube
#cpp #programming
👉 @cpp_lib
1. Scent of C++.
2. Указатели и ссылки
3. Имена и сущности
4. Инициализация и копирование.
5. RAII и перемещение
6. Приведение типов
7. Перегрузка операторов
8. Наследование и полиморфизм
9. Множественное наследование
10. Языки и грамматики
11. Исключения
12. Безопасность исключений
13. Проектирование
14 (доп). OpenGL и Vulkan
15. Вычисления на GPU.
16. Специализация и инстанцирование.
17. Вывод типов и свёртка ссылок.
18. Определители типов и SFINAE
19. Вариабельные шаблоны.
20. Итераторы
21. LLVM, часть 1
22. LLVM, часть 2
23. Последовательные контейнеры.
24. Ассоциативные контейнеры
25. Алгоритмы и функторы.
26. Метапрограммирование.
27. Constexpr функции.
28. Концепты и напутственные слова.
Все видео доступны на youtube
#cpp #programming
👉 @cpp_lib
👍22❤3
Forwarded from Библиотека C/C++ разработчика
Media is too big
VIEW IN TELEGRAM
Собеседование Middle C++
Провели тренировочное собеседование с Данилом
на позицию Middle C++ Developer.
источник
#cpp #programming
👉 @cpp_lib
Провели тренировочное собеседование с Данилом
на позицию Middle C++ Developer.
источник
#cpp #programming
👉 @cpp_lib
👍8👎5🙏1🆒1
Forwarded from Библиотека C/C++ разработчика
Массивы в C++
Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это четвертая статья из серии, первые три, посвященные перегрузке в C++, находятся здесь, здесь и здесь.
Эта статья посвящена массивам. Массивы можно отнести к наиболее древним слоям C++, они пришли из первых версий C. Тем не менее, массивы вошли в объектно-ориентированную систему типов C++, хотя и с определенными оговорками. Программисту важно знать об этих особенностях, чтобы избежать потенциальных ошибок. В статье также рассмотрено другое наследие C – тривиальные типы и неинициализированные переменные. Часть нововведений C++11, С++14, С++17 затрагивают работу с массивами, все эти новые возможности также подробно описаны. Итак, попробуем рассказать о массивах все.
https://habr.com/ru/articles/495444/
#cpp #programming
👉 @cpp_lib
Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это четвертая статья из серии, первые три, посвященные перегрузке в C++, находятся здесь, здесь и здесь.
Эта статья посвящена массивам. Массивы можно отнести к наиболее древним слоям C++, они пришли из первых версий C. Тем не менее, массивы вошли в объектно-ориентированную систему типов C++, хотя и с определенными оговорками. Программисту важно знать об этих особенностях, чтобы избежать потенциальных ошибок. В статье также рассмотрено другое наследие C – тривиальные типы и неинициализированные переменные. Часть нововведений C++11, С++14, С++17 затрагивают работу с массивами, все эти новые возможности также подробно описаны. Итак, попробуем рассказать о массивах все.
https://habr.com/ru/articles/495444/
#cpp #programming
👉 @cpp_lib
Хабр
Массивы в C++
Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это четвертая статья из серии, первые три,...
👍10❤3
Forwarded from Библиотека C/C++ разработчика
Оптимизация GUI на Qt
Как правило, при создании desktop-приложений на платформе Qt не возникает проблем, связанных с медленностью работы GUI. Qt – платформа достаточно надежная, неплохо вылизанная по всем параметрам, в том числе и по скорости работы. Однако всё же иногда бывают ситуации, когда из-за обилия виджетов графический интерфейс немного притормаживает, и это печально). В этой статье я приведу один частный пример простого графического интерфейса и покажу, как за два шага можно сначала ускорить его в 11 раз, а потом и в целых 34 раза. Вдобавок к этому, я постараюсь немного осветить механизм принятия решения для таких оптимизационных задач, постараюсь показать направление мыслей для правильного решения. Поехали!
https://habr.com/ru/post/672962/
#cpp #programming
👉 @cpp_lib
Как правило, при создании desktop-приложений на платформе Qt не возникает проблем, связанных с медленностью работы GUI. Qt – платформа достаточно надежная, неплохо вылизанная по всем параметрам, в том числе и по скорости работы. Однако всё же иногда бывают ситуации, когда из-за обилия виджетов графический интерфейс немного притормаживает, и это печально). В этой статье я приведу один частный пример простого графического интерфейса и покажу, как за два шага можно сначала ускорить его в 11 раз, а потом и в целых 34 раза. Вдобавок к этому, я постараюсь немного осветить механизм принятия решения для таких оптимизационных задач, постараюсь показать направление мыслей для правильного решения. Поехали!
https://habr.com/ru/post/672962/
#cpp #programming
👉 @cpp_lib
👍7❤1
Forwarded from Библиотека C/C++ разработчика
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Parallel C++
Workload Distribution
Static Partitioning
Dynamic Partitioning
False Sharing
Double Buffering
Spinlocks
Fairness
Concurrent Containers
Blocking and Non-Blocking Algorithms
Lock-Free and Wait-Free Algorithms
источник
#cpp #programming
👉 @cpp_lib
Workload Distribution
Static Partitioning
Dynamic Partitioning
False Sharing
Double Buffering
Spinlocks
Fairness
Concurrent Containers
Blocking and Non-Blocking Algorithms
Lock-Free and Wait-Free Algorithms
источник
#cpp #programming
👉 @cpp_lib
👍7
Beginning C++ Game Programming, 3rd Edition: Learn C++ from scratch by building fun games
Автор: John Horton (2024)
Вы изучите ключевые темы C++, такие как ООП и указатели C++, познакомитесь со стандартной библиотекой шаблонов (STL). Книга поможет вам узнать о методах обнаружения столкновений и игровой физике, создав игру Pong. В процессе создания игр вы также узнаете такие интересные концепции игрового программирования, как вершинные массивы, направленный звук (пространственность), программируемые шейдеры OpenGL, порождение объектов и многое другое. Вы глубоко погрузитесь в игровую механику и реализуете обработку ввода, повышение уровня персонажа и простой вражеский ИИ. Наконец, вы изучите паттерны проектирования игр, чтобы усовершенствовать свои навыки программирования игр на C++.
#cpp@programmist_of
👉@programmist_of
Автор: John Horton (2024)
Вы изучите ключевые темы C++, такие как ООП и указатели C++, познакомитесь со стандартной библиотекой шаблонов (STL). Книга поможет вам узнать о методах обнаружения столкновений и игровой физике, создав игру Pong. В процессе создания игр вы также узнаете такие интересные концепции игрового программирования, как вершинные массивы, направленный звук (пространственность), программируемые шейдеры OpenGL, порождение объектов и многое другое. Вы глубоко погрузитесь в игровую механику и реализуете обработку ввода, повышение уровня персонажа и простой вражеский ИИ. Наконец, вы изучите паттерны проектирования игр, чтобы усовершенствовать свои навыки программирования игр на C++.
#cpp@programmist_of
👉@programmist_of
🔥8👍5
Автор: Frahaan Hussain (2024)
Начиная с основ, книга знакомит читателей с фундаментальными концепциями программирования на Си, включая переменные, типы данных и управляющие структуры, а затем переходит к более сложным темам, таким как управление памятью и системное программирование. При переходе к C++ в тексте рассматриваются объектно-ориентированное программирование, инкапсуляция, наследование и полиморфизм, а также инструменты, необходимые для создания надежного и эффективного программного обеспечения.
#cpp@programmist_of
👉@programmist_of
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Автор: Martin Reddy (2024)
В этой книге всесторонне рассматривается разработка API, начиная с первоначального проектирования и заканчивая реализацией, тестированием, документированием, выпуском, версионированием, сопровождением и уничтожением. В ней представлены паттерны и практики, которые приносят реальную пользу как отдельным разработчикам, так и организациям. Второе издание включает все новые материалы, полностью обновленные для последних версий C++, в том числе новую главу о параллелизме и многопоточности, а также новую главу о том, как могут сосуществовать код Objective C++ и C++ и как можно получить доступ к API C++ из программ на Swift. Кроме того, в книге рассматриваются часто упускаемые из виду вопросы, как технические, так и нетехнические, способствующие принятию успешных проектных решений, которые приводят к созданию высококачественных, надежных и долговечных API.
#cpp@programmist_of
👉@programmist_of
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Автор: Wayne Murphy (2024)
Мы начнем с обсуждения основных концепций и узнаем, как использовать их в шаблонах. Затем мы рассмотрим такие продвинутые темы, как асинхронное программирование с помощью coroutines и инструменты для одновременной обработки нескольких задач. Вы узнаете о модулях C++ для создания модульных приложений, позволяющих лучше организовать код. Вы узнаете о диапазонах для эффективной обработки последовательностей данных, включая представления и адаптеры для преобразования и фильтрации данных. Кроме того, вы познакомитесь с новыми возможностями контейнеров, практиками более чистого кодирования и оптимизацией производительности в C++20/23.
#cpp@programmist_of
👉@programmist_of
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6