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++ ( )