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
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
range-based циклы
В С++11 была добавлена поддержка парадигмы for each для итерации по набору. В новой форме возможно выполнять итерации в случае, если для объекта итерации перегружены методы begin() и end().
Это полезно, когда вы просто хотите получить элементы массива/контейнера или сделать с ними что-то, не заботясь об индексах, итераторах или кол-ве элементов.
#cpp #programming
👉 @cpp_lib
В С++11 была добавлена поддержка парадигмы for each для итерации по набору. В новой форме возможно выполнять итерации в случае, если для объекта итерации перегружены методы begin() и end().
Это полезно, когда вы просто хотите получить элементы массива/контейнера или сделать с ними что-то, не заботясь об индексах, итераторах или кол-ве элементов.
#cpp #programming
👉 @cpp_lib
👍4
Static analysis tooling with CMake
https://dev.to/batunpc/static-analysis-tooling-with-cmake-6m7
#cpp #programming
👉 @cpp_lib
https://dev.to/batunpc/static-analysis-tooling-with-cmake-6m7
#cpp #programming
👉 @cpp_lib
👍3
Магистерский курс 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
Лекция 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
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
Шпаргалка фокусируется на языке, а не стандартной библиотеке, и учитывает особенности C++11/C++14
#cpp #programming
👉 @cpp_lib
👍12
Media is too big
VIEW IN TELEGRAM
Standard C++
Часть 1, Общий обзор стандарта
Часть 2, Неопределённое поведение
Часть 3, Перегрузка
Часть 4, Неявные преобразования
Часть 5, Инициализация
Часть 6, Частичный порядок
Все видео доступны на youtube
#cpp #programming
👉 @cpp_lib
Часть 1, Общий обзор стандарта
Часть 2, Неопределённое поведение
Часть 3, Перегрузка
Часть 4, Неявные преобразования
Часть 5, Инициализация
Часть 6, Частичный порядок
Все видео доступны на youtube
#cpp #programming
👉 @cpp_lib
👍5
Алгоритмы диапазонов C++20 — 7 немодифицирующих операций
https://www.cppstories.com/2022/ranges-alg-part-one/
#cpp #programming
👉 @cpp_lib
https://www.cppstories.com/2022/ranges-alg-part-one/
#cpp #programming
👉 @cpp_lib
👍3
C++23: The `<expected>` header; expect the unexpected
https://www.sandordargo.com/blog/2022/11/16/cpp23-expected
#cpp #programming
👉 @cpp_lib
https://www.sandordargo.com/blog/2022/11/16/cpp23-expected
#cpp #programming
👉 @cpp_lib
Sandor Dargo’s Blog
C++23: The <expected> header; expect the unexpected
What do you do when you have to return multiple values from a function? Do you return an instance of some data structure? Do you use output variables? Maybe you throw an exception to get rid of the error codes? It’s not an obvious choice. C++23 offers a standardized…
👍2