Библиотека C/C++ разработчика
6.81K subscribers
660 photos
692 videos
8 files
943 links
Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter
Download Telegram
Media is too big
VIEW IN TELEGRAM
C++ in Constrained Environments - Bjarne Stroustrup - CppCon 2022

C++ is widely used in constrained and/or critical applications and infrastructure components. How do we manage to use a large multi-purpose language in such environments? How can we better use facilities and techniques from modern C++ (C++11, C++14, C++17, C++20, and beyond)? The best answer is not “use only facilities available in C and C++ in 1985.”

This talk focuses on a top-down approach to achieve simplicity, maintainability, performance, and various forms of safety. It touches upon the C++ Core Guidelines, compile-time computation, type-and-resource safety, type deduction, the span and chrono standard libraries, and error handling.

#cpp #programming

👉 @cpp_lib
👍3😁1
Пошаговая GDB отладка ARM процессора из консоли в Win10

Типичная ситуация. Компонент логирования и UART(Universal Asynchronous Receiver/Transmitter) не проинициализировался корректно или устройство где-то зависло в инициализации после reset. Или устройство бесконечно перезагружается после подачи питания. Как же понять на какой строчке возникла run-time ошибка? Классическое решение это пошаговая отладка через JTAG(Joint Test Action Group) или SWD(Serial Wire Debug).

Немного про железо. Работать буду с платой nRF5340-DK. Её блок-схема.

https://habr.com/ru/post/694708/

#cpp #programming

👉 @cpp_lib
👍4
Media is too big
VIEW IN TELEGRAM
Введение в концепты C++20

One of the biggest new features of C++20 are concepts. Concepts define requirements on template arguments which are enforced by the compiler. This leads to more readable code which clearly expresses intent. Error messages are improved since violations of the constraints defined by concepts can be detected in the early stages of the template instantiation.
This talked is aimed at people with little or no experience with concepts and will introduce generic programming with concepts (constraining templates, writing your own concepts and overloading functions which are constrained by concepts)

Slides https://github.com/hniemeyer/IntroToConcepts


#cpp #programming

👉 @cpp_lib
👍6
Media is too big
VIEW IN TELEGRAM
Petter Holmberg: Functional parsing in C++20

Is C++20 a language that supports a functional style of programming?
Can we write modern C++ code in a pure functional style that would easily translate into a pure functional language like Haskell, and could that C++ code end up looking just as nice while still being reasonably efficient?
In this talk we will take a practical approach and apply ideas from functional programming to a common and non-trivial problem - parsing strings - and develop a small pure functional parsing library from the ground up. On the way we will encounter many nice features from C++20 that, while optional, make this task a lot easier and results in code that can compete with functional languages for clarity and expressiveness.
This talk does not assume theoretical knowledge of functional programming concepts or practical experience with a functional language. You also don't need to know how to write parsers or have many hours of C++20 under your belt.


#cpp #programming

👉 @cpp_lib
👍1
Что выведет код по стандарту С++17?

#cpp #programming

👉 @cpp_lib
👍6
Media is too big
VIEW IN TELEGRAM
C++ Вопросы на собеседовании. Разбор

#cpp #programming

👉 @cpp_lib
👍4
range-based циклы

В С++11 была добавлена поддержка парадигмы for each для итерации по набору. В новой форме возможно выполнять итерации в случае, если для объекта итерации перегружены методы begin() и end().

Это полезно, когда вы просто хотите получить элементы массива/контейнера или сделать с ними что-то, не заботясь об индексах, итераторах или кол-ве элементов.

#cpp #programming

👉 @cpp_lib
👍4
Магистерский курс C++ (МФТИ, 2022-2023).

Лекция 1. Строки.
Лекция 2. Шаблоны функций.
Лекция 3. Шаблоны классов и частичная специализация.
Лекция 4. Разрешение имён в шаблонах и One Definition Rule.
Лекция 5. Модули в C++.
Лекция 6. SFINAE.
Лекция 7. Классическое метапрограммирование.
Лекция 8. Константные выражения.
Лекция 9. Волшебство времени компиляции.
Лекция 10. Концепты.
Лекция 11. Вывод типов.
Лекция 12. Вариабельные шаблоны.
Лекция 13. Лямбды.
Лекция 14. Диапазоны, часть 1.
Лекция 14. Диапазоны, часть 2

Все видео на доступны на youtube

#cpp #programming

👉 @cpp_lib
👍15
Почему стоит использовать C++ в 2022 году?

C++ - это язык программирования, которому уже около 40 лет, и он все еще существует. В этой статье мы рассмотрим, где и почему он используется и есть ли у него будущее.

Давайте разберемся!

https://dev.to/sandordargo/why-to-use-c-in-2022-56hi

#cpp #programming

👉 @cpp_lib
👍3
Шпаргалка по C++

Шпаргалка фокусируется на языке, а не стандартной библиотеке, и учитывает особенности C++11/C++14

#cpp #programming

👉 @cpp_lib
👍12