Patterns and concepts in C ++ 20

Hello, Habr!





Recently, Yegor Suvorov , a C ++ course instructor at the St. Petersburg HSE , gave a lecture on some of the language's features for participants in the All-Russian Olympiad for School Students in Informatics. Egor talked about templates in C ++, as well as where and why they arise: generic programming of data structures and algorithms, functors and lambda functions, how to increase the level of abstractions and simplify the code.





An important clarification: this lecture is not an attempt to grasp the immensity, but a short excursion into the useful features of C ++ for members of the Olympiad community: from extracting code into a class to the internal mechanisms of lambda functions and a pinch of constraints from C ++ 20. If interested, we invite you to view.





Detailed timecodes

00:53 - What you need to know before watching a lecture





02:00 — ++





03:10 — C++





04:45.





06:21





09:03





09:53





10:29





11:24





12:03





12:27





13:40 — (++20)





15:01





15:27





16:21 — Class Template Argument Deduction (CTAD, ++17)





16:56





17:47





19:12





20:10





20:33





21:00





21:56





22:30





23:26





24:42-





25:38





26:28





27:27





27:56





29:18





30:29





31:16





32:15 — IIFE





33:18 — (type erasure)





34:36





35:51





37:45 — ( , )





38:34 : -





39:48 :





41:23 — C++ ( )





, .








All Articles