This media is not supported in your browser
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
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
С++
01 Введение
02 Placement new
03 Наивная реализация конструкторов и функции Reserve
04 Обработка исключений
05 Уносим сырую память в класс обёртку
06 Функции std::uninitialized *
07 Оператор присваивания и move конструктор
08 Resize, PushBack и PopBack
09 Гарантии безопасности исключений
10 Variadic templates
#cpp #programming
👉 @cpp_lib
01 Введение
02 Placement new
03 Наивная реализация конструкторов и функции Reserve
04 Обработка исключений
05 Уносим сырую память в класс обёртку
06 Функции std::uninitialized *
07 Оператор присваивания и move конструктор
08 Resize, PushBack и PopBack
09 Гарантии безопасности исключений
10 Variadic templates
#cpp #programming
👉 @cpp_lib
👍3❤1
Media is too big
VIEW IN TELEGRAM
Возможности С++ для программирования микроконтроллеров
Игнат Ворошилов
Обычно, программирование микроконтроллеров подразумевает использования языков программирования ASM, C, и лишь изредка C++. Но даже те проекты, которые написаны с использованием C++, написаны в стиле C, без использования преимуществ C++ в полной мере. Эти утверждения справедливы для подавляющего большинства проектов с открытым исходным кодом, библиотек от разработчиков микросхем, различных SDK и иже с ними. На мой взгляд, игнорирование возможностей C++ и возможностей ООП, при разработке ПО для микроконтроллеров, неоправдано. Предлагаю рассмотреть конкретные примеры использования возможностей языка C++, которые помогут сэкономить время разработчика и повысить качество проекта.
источник
#cpp #programming
👉 @cpp_lib
Игнат Ворошилов
Обычно, программирование микроконтроллеров подразумевает использования языков программирования ASM, C, и лишь изредка C++. Но даже те проекты, которые написаны с использованием C++, написаны в стиле C, без использования преимуществ C++ в полной мере. Эти утверждения справедливы для подавляющего большинства проектов с открытым исходным кодом, библиотек от разработчиков микросхем, различных SDK и иже с ними. На мой взгляд, игнорирование возможностей C++ и возможностей ООП, при разработке ПО для микроконтроллеров, неоправдано. Предлагаю рассмотреть конкретные примеры использования возможностей языка C++, которые помогут сэкономить время разработчика и повысить качество проекта.
источник
#cpp #programming
👉 @cpp_lib
👍4
Лекции С++ продвинутый поток ФПМИ 2023-24
Лекция 1. Введение в язык C++. Основные типы и операции над ними
Лекция 2. Основные команды в терминале. Компиляция программ
Лекция 3. Объявления и определения, области видимости, пространства имен
Лекция 4. Выражения и операторы. Управляющие конструкции
Лекция 5. Compile-time errors, runtime errors, undefined behavior
Лекция 6. Указатели
Лекция 7. Стековая, статическая и динамическая память
Лекция 8. Массивы, функции и указатели на функции
источник
#cpp #programming
👉 @cpp_lib
Лекция 1. Введение в язык C++. Основные типы и операции над ними
Лекция 2. Основные команды в терминале. Компиляция программ
Лекция 3. Объявления и определения, области видимости, пространства имен
Лекция 4. Выражения и операторы. Управляющие конструкции
Лекция 5. Compile-time errors, runtime errors, undefined behavior
Лекция 6. Указатели
Лекция 7. Стековая, статическая и динамическая память
Лекция 8. Массивы, функции и указатели на функции
источник
#cpp #programming
👉 @cpp_lib
👍8
Библиотека Ranges в C++20
Благодаря библиотеке ranges работа со стандартной библиотекой шаблонов (STL) стала намного удобнее и мощнее. Прежде всего, алгоритмы библиотеки ranges, могут работать непосредственно на контейнере и могут быть композитными. Кроме того, в библиотеке ranges сделано несколько уникальных конструктивных решений, о которых вы должны знать.
https://www.modernescpp.com/index.php/the-ranges-library-in-c20-design-choices/
#cpp #programming
👉 @cpp_lib
Благодаря библиотеке ranges работа со стандартной библиотекой шаблонов (STL) стала намного удобнее и мощнее. Прежде всего, алгоритмы библиотеки ranges, могут работать непосредственно на контейнере и могут быть композитными. Кроме того, в библиотеке ranges сделано несколько уникальных конструктивных решений, о которых вы должны знать.
https://www.modernescpp.com/index.php/the-ranges-library-in-c20-design-choices/
#cpp #programming
👉 @cpp_lib
👍3❤1
Пишем свой QTableView с нуля
Итак жил был фреймворк Qt и последние 10 лет ничего почти в нем не менялось. И захотел один чел написать свой QTableView с нужным ему функционалом, а именно захотелось ему выводить ячейки в несколько рядов в одной строке. Ещё ему хотелось растягивать одну из ячеек по ширине двух других и т.д. (ну как в 1С например).
Искал, искал чел готовый пример в интернете и не находил. И вот однажды подумал он посмотреть как сделан внутри сам QTableView и стало плохо ему от количества строк кода, не одна тысяча там.
https://habr.com/ru/articles/761530/
#cpp #programming
👉 @cpp_lib
Итак жил был фреймворк Qt и последние 10 лет ничего почти в нем не менялось. И захотел один чел написать свой QTableView с нужным ему функционалом, а именно захотелось ему выводить ячейки в несколько рядов в одной строке. Ещё ему хотелось растягивать одну из ячеек по ширине двух других и т.д. (ну как в 1С например).
Искал, искал чел готовый пример в интернете и не находил. И вот однажды подумал он посмотреть как сделан внутри сам QTableView и стало плохо ему от количества строк кода, не одна тысяча там.
https://habr.com/ru/articles/761530/
#cpp #programming
👉 @cpp_lib
👍1
Советы по рефакторингу C++
Когда-то давно, в мире, где Си++ был молод, а глобальная кодовая база была невелика, можно было легко прочитать и просмотреть чужой код, затем принять его и развивать проект до бесконечности. Но, конечно, такого, скорее всего, не было, но интересно представить себе время, когда программы были короткими и простыми, но при этом законченными настолько, что функциональность не требовала расширения. В таком мире рефакторинг кода, возможно, и не требовался. Однако если кодовая база нуждается в проверке или обновлении, будь то расширение, улучшение в соответствии с изменениями в языке или даже просто проверка эффективности, то рефакторинг кода становится скорее необходимостью, чем просто приятным занятием.
Идея рефакторинга заключается в том, чтобы внести улучшения в существующий код, не меняя того, что он делает. По сути, улучшается дизайн и общая читаемость, а функциональность остается нетронутой. Преимущества рефакторинга кода заключаются в повышении эффективности, читаемости, сопровождаемости и расширяемости. А также синтаксическое и семантическое снижение сложности кода.
https://www.incredibuild.com/blog/tips-for-c-refactoring
#cpp #programming
👉 @cpp_lib
Когда-то давно, в мире, где Си++ был молод, а глобальная кодовая база была невелика, можно было легко прочитать и просмотреть чужой код, затем принять его и развивать проект до бесконечности. Но, конечно, такого, скорее всего, не было, но интересно представить себе время, когда программы были короткими и простыми, но при этом законченными настолько, что функциональность не требовала расширения. В таком мире рефакторинг кода, возможно, и не требовался. Однако если кодовая база нуждается в проверке или обновлении, будь то расширение, улучшение в соответствии с изменениями в языке или даже просто проверка эффективности, то рефакторинг кода становится скорее необходимостью, чем просто приятным занятием.
Идея рефакторинга заключается в том, чтобы внести улучшения в существующий код, не меняя того, что он делает. По сути, улучшается дизайн и общая читаемость, а функциональность остается нетронутой. Преимущества рефакторинга кода заключаются в повышении эффективности, читаемости, сопровождаемости и расширяемости. А также синтаксическое и семантическое снижение сложности кода.
https://www.incredibuild.com/blog/tips-for-c-refactoring
#cpp #programming
👉 @cpp_lib
👍2
Три очень практичные фичи C++23
C++23 — это текущая рабочая версия стандарта C++. На момент написания статьи туда пока не было включено ни одной крупной фичи, но ряд небольших нововведений, а также множество отчетов о дефектах уже утверждены в стандарте. Вы можете посмотреть текущий статус и поддержку компиляторами новых фич здесь. Многие из этих нововведений представляют из себя небольшие улучшения и вещи, которыми вы, вероятно, не будете пользоваться на регулярной основе. Однако сегодня я хочу обратить ваше внимание на три новые фичи C++23, которые, на мой взгляд, выделяются на фоне остальных именно тем, насколько часто они будут встречаться в нашем коде.
https://mariusbancila.ro/blog/2022/01/17/three-cpp23-features-for-common-use/
#cpp #programming
👉 @cpp_lib
C++23 — это текущая рабочая версия стандарта C++. На момент написания статьи туда пока не было включено ни одной крупной фичи, но ряд небольших нововведений, а также множество отчетов о дефектах уже утверждены в стандарте. Вы можете посмотреть текущий статус и поддержку компиляторами новых фич здесь. Многие из этих нововведений представляют из себя небольшие улучшения и вещи, которыми вы, вероятно, не будете пользоваться на регулярной основе. Однако сегодня я хочу обратить ваше внимание на три новые фичи C++23, которые, на мой взгляд, выделяются на фоне остальных именно тем, насколько часто они будут встречаться в нашем коде.
https://mariusbancila.ro/blog/2022/01/17/three-cpp23-features-for-common-use/
#cpp #programming
👉 @cpp_lib
Marius Bancila's Blog | About code. Mostly on C++
Three C++23 features for common use
A look at three new C++23 features that you could potentially use on a regular basis
👍3
Знакомство с constexpr unique_ptr (С++23)
https://andreasfertig.blog/2023/10/using-cpp23s-constexpr-unique_ptr/
#cpp #programming
👉 @cpp_lib
https://andreasfertig.blog/2023/10/using-cpp23s-constexpr-unique_ptr/
#cpp #programming
👉 @cpp_lib
Andreasfertig
Using C++23s constexpr unique_ptr
Back in 2022, my paper P2273R3: Making std::unique_ptr constexpr was accepted for C++23. All the time, I planned to provide an implemen...
👍5