こんにちは、Habr!
最近、Yegorスヴォーロフ、でC ++コースの講師サンクトペテルブルクHSEは、参加者のための言語の機能のいくつかについての講義を行いました学校の学生のための全ロシアオリンピックコンピュータサイエンスインチ Egorは、C ++のテンプレートと、それらが発生する場所と理由について話しました。データ構造とアルゴリズム、ファンクターとラムダ関数のジェネリックプログラミング、抽象化のレベルを上げてコードを単純化する方法です。
重要な説明:この講義は、広大さを把握する試みではなく、オリンピックコミュニティのメンバーのためのC ++の便利な機能への短い遠足です:クラスへのコードの抽出からラムダ関数の内部メカニズムとピンチまでC ++ 20からの制約の。興味のある方はぜひご覧ください。
詳細なタイムコード
00:53-講義を見る前に知っておくべきこと
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++ ( )