Showing preview only (694K chars total). Download the full file or copy to clipboard to get everything.
Repository: lkimuk/cpparticles
Branch: main
Commit: f5ea91396e49
Files: 190
Total size: 644.2 KB
Directory structure:
gitextract_8tn9watw/
├── .github/
│ └── ISSUE_TEMPLATE/
│ └── subscription-request-template.md
├── 2022/
│ └── articles-videos/
│ ├── 2022-all-in-one.md
│ ├── 220204.md
│ ├── 220211.md
│ ├── 220218.md
│ ├── 220225.md
│ ├── 220304.md
│ ├── 220311.md
│ ├── 220320.md
│ ├── 220327.md
│ ├── 220408.md
│ ├── 220505.md
│ ├── 220521.md
│ ├── 220529.md
│ ├── 220607.md
│ ├── 220616.md
│ ├── 220627.md
│ ├── 220708.md
│ ├── 220722.md
│ ├── 220801.md
│ ├── 220808.md
│ ├── 220829.md
│ ├── 220918.md
│ ├── 220926.md
│ ├── 221002.md
│ ├── 221021.md
│ ├── 221102.md
│ ├── 221106.md
│ ├── 221118.md
│ ├── 221126.md
│ ├── 221205.md
│ ├── 221222.md
│ ├── 221231.md
│ └── 230120.md
├── 2023/
│ ├── AI/
│ │ └── AI-README.md
│ ├── articles/
│ │ ├── 2023-all-in-one.md
│ │ ├── 230312.md
│ │ ├── 230321.md
│ │ ├── 230403.md
│ │ ├── 230416.md
│ │ ├── 230424.md
│ │ ├── 230501.md
│ │ ├── 230509.md
│ │ ├── 230514.md
│ │ ├── 230522.md
│ │ ├── 230607.md
│ │ ├── 230620.md
│ │ ├── 230703.md
│ │ ├── 230717.md
│ │ ├── 230802.md
│ │ ├── 230819.md
│ │ ├── 230827.md
│ │ ├── 230903.md
│ │ ├── 230917.md
│ │ ├── 231006.md
│ │ ├── 231015.md
│ │ ├── 231030.md
│ │ ├── 231112.md
│ │ ├── 231126.md
│ │ ├── 231220.md
│ │ ├── 240110.md
│ │ ├── 240120.md
│ │ ├── 240206.md
│ │ ├── 240219.md
│ │ ├── 240224.md
│ │ ├── 240303.md
│ │ ├── 240314.md
│ │ └── 240324.md
│ └── videos/
│ ├── 2023-all-in-one.md
│ ├── 230312.md
│ ├── 230321.md
│ ├── 230403.md
│ ├── 230416.md
│ ├── 230424.md
│ ├── 230501.md
│ ├── 230509.md
│ ├── 230514.md
│ ├── 230522.md
│ ├── 230607.md
│ ├── 230620.md
│ ├── 230703.md
│ ├── 230717.md
│ ├── 230802.md
│ ├── 230819.md
│ ├── 230827.md
│ ├── 230903.md
│ ├── 230917.md
│ ├── 231006.md
│ ├── 231015.md
│ ├── 231030.md
│ ├── 231112.md
│ ├── 231126.md
│ ├── 231220.md
│ ├── 240110.md
│ ├── 240120.md
│ ├── 240206.md
│ ├── 240219.md
│ ├── 240224.md
│ ├── 240303.md
│ ├── 240314.md
│ └── 240324.md
├── 2024/
│ ├── articles/
│ │ ├── 240509.md
│ │ ├── 240519.md
│ │ ├── 240602.md
│ │ ├── 240618.md
│ │ ├── 240703.md
│ │ ├── 240713.md
│ │ ├── 240722.md
│ │ ├── 240801.md
│ │ ├── 240808.md
│ │ ├── 240816.md
│ │ ├── 240830.md
│ │ ├── 240908.md
│ │ ├── 240922.md
│ │ ├── 240930.md
│ │ ├── 241027.md
│ │ ├── 241116.md
│ │ ├── 241124.md
│ │ ├── 241201.md
│ │ ├── 241215.md
│ │ ├── 241229.md
│ │ ├── 250112.md
│ │ ├── 250204.md
│ │ ├── 250209.md
│ │ ├── 250217.md
│ │ ├── 250224.md
│ │ ├── 250303.md
│ │ ├── 250311.md
│ │ ├── 250317.md
│ │ ├── 250324.md
│ │ ├── 250403.md
│ │ └── 250427.md
│ └── videos/
│ ├── 240509.md
│ ├── 240519.md
│ ├── 240602.md
│ ├── 240618.md
│ ├── 240703.md
│ ├── 240713.md
│ ├── 240722.md
│ ├── 240801.md
│ ├── 240808.md
│ ├── 240816.md
│ ├── 240830.md
│ ├── 240908.md
│ ├── 240922.md
│ ├── 240930.md
│ ├── 241027.md
│ ├── 241116.md
│ ├── 241124.md
│ ├── 241201.md
│ ├── 241215.md
│ ├── 241229.md
│ ├── 250112.md
│ ├── 250204.md
│ ├── 250209.md
│ ├── 250217.md
│ ├── 250224.md
│ ├── 250303.md
│ ├── 250311.md
│ ├── 250317.md
│ ├── 250324.md
│ ├── 250403.md
│ └── 250427.md
├── 2025/
│ ├── articles/
│ │ ├── 250622.md
│ │ ├── 250706.md
│ │ ├── 250803.md
│ │ ├── 250825.md
│ │ ├── 250907.md
│ │ ├── 250920.md
│ │ ├── 251012.md
│ │ ├── 251020.md
│ │ ├── 251117.md
│ │ ├── 251210.md
│ │ ├── 260112.md
│ │ ├── 260125.md
│ │ └── 260210.md
│ └── videos/
│ ├── 250622.md
│ ├── 250706.md
│ ├── 250803.md
│ ├── 250825.md
│ ├── 250907.md
│ ├── 250920.md
│ ├── 251012.md
│ ├── 251020.md
│ ├── 251117.md
│ ├── 251210.md
│ ├── 260112.md
│ ├── 260125.md
│ └── 260210.md
└── README.md
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/ISSUE_TEMPLATE/subscription-request-template.md
================================================
---
name: Subscription Request template
about: Subscribe to receive updates and notifications
title: Subscription Request
labels: subscription
assignees: lkimuk
---
---
name: Subscription Request
about: Subscribe to receive updates and notifications
labels: [subscription]
---
<!-- Please provide your email address to subscribe -->
**Email Address:** [Your Email Address]
================================================
FILE: 2022/articles-videos/2022-all-in-one.md
================================================
```toc
```
## 第1期 220204
**Articles & Papers**
1. Conditional Members
[https://brevzin.github.io/c++/2021/11/21/conditional-members/](https://brevzin.github.io/c++/2021/11/21/conditional-members/)
2. co_resource: An RAII coroutine
[https://vector-of-bool.github.io/2021/12/30/co_resource.html](https://vector-of-bool.github.io/2021/12/30/co_resource.html)
3. #### **The Evolution of Functions in Modern C++**
[https://mariusbancila.ro/blog/2022/01/01/the-evolution-of-functions-in-modern-cpp/](https://mariusbancila.ro/blog/2022/01/01/the-evolution-of-functions-in-modern-cpp/)
4. Examples of 7 Handy Functions for Associative Containers in Modern C++
[https://www.cppstories.com/2021/handy-map-functions/](https://www.cppstories.com/2021/handy-map-functions/)
5. Implementing Parallel copy_if in C++
[https://www.cppstories.com/2021/par-copyif/](https://www.cppstories.com/2021/par-copyif/)
6. Speculation on the design decisions that led to the common ABI for C++ coroutines
[https://devblogs.microsoft.com/oldnewthing/20220103-00/?p=106109](https://devblogs.microsoft.com/oldnewthing/20220103-00/?p=106109)
7. The big STL Algorithms tutorial: more numeric algorithms
[https://www.sandordargo.com/blog/2022/01/05/stl-alogorithms-tutorial-part-28-more_numeric](https://www.sandordargo.com/blog/2022/01/05/stl-alogorithms-tutorial-part-28-more_numeric)
8. There might not be an elegant OOTA fix
[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1916r0.pdf](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1916r0.pdf)
9. Variant Visitation V2
[https://mpark.github.io/programming/2019/01/22/variant-visitation-v2/](https://mpark.github.io/programming/2019/01/22/variant-visitation-v2/)
10. Introducing KDBindings - Reactive Programming and Data Binding in C++
[https://www.kdab.com/signals-slots-properties-bindings/](https://www.kdab.com/signals-slots-properties-bindings/)
11. Named parameters for C++11 with variadic templates vs a language feature
[http://ib-krajewski.blogspot.com/2020/05/named-params-for-c11-using-varaidic.html](http://ib-krajewski.blogspot.com/2020/05/named-params-for-c11-using-varaidic.html)
12. C++ 20 concurrency Part 1: synchronized output stream
[https://ggulgulia.medium.com/c-20-concurrency-part-1-synchronized-output-stream-59532e85cde8](https://ggulgulia.medium.com/c-20-concurrency-part-1-synchronized-output-stream-59532e85cde8)
C++20 Concurrency — Part 2: jthreads
[https://ggulgulia.medium.com/c-20-concurrency-part-2-jthreads-f531a4d43c2f](https://ggulgulia.medium.com/c-20-concurrency-part-2-jthreads-f531a4d43c2f)
C++20 Concurrency: part-3 request_stop and stop_token for std::jthread
[https://ggulgulia.medium.com/c-20-concurrency-part-3-request-stop-and-stop-token-for-std-jthread-5e45cb48f4bc](https://ggulgulia.medium.com/c-20-concurrency-part-3-request-stop-and-stop-token-for-std-jthread-5e45cb48f4bc)
13. string_view range constructor should be explicit
[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2499r0.html](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2499r0.html)
14. 20 Smaller yet Handy C++20 Features
[https://www.cppstories.com/2022/20-smaller-cpp20-features/](https://www.cppstories.com/2022/20-smaller-cpp20-features/)
15. Changes between C++17 and C++20 DIS
[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2131r0.html](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2131r0.html)
16. Yet another approach for constrained declarations
[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1141r2.html](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1141r2.html)
17. Familiar template syntax for generic lambdas 提案
[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0428r2.pdf](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0428r2.pdf)
18. constexpr Dynamic Memory Allocation, C++20
[https://www.cppstories.com/2021/constexpr-new-cpp20/](https://www.cppstories.com/2021/constexpr-new-cpp20/)
19. constexpr vector and string in C++20 and One Big Limitation
[https://www.cppstories.com/2021/constexpr-vecstr-cpp20/](https://www.cppstories.com/2021/constexpr-vecstr-cpp20/)
20. How to Check String or String View Prefixes and Suffixes in C++20
[https://www.cppstories.com/2020/08/string-prefix-cpp20.html/](https://www.cppstories.com/2020/08/string-prefix-cpp20.html/)
21. Examples of 7 Handy Functions for Associative Containers in Modern C++
[https://www.cppstories.com/2021/handy-map-functions/](https://www.cppstories.com/2021/handy-map-functions/)
22. Improving Print Logging with Line Pos Info & Modern C++
[https://www.cppstories.com/2019/04/file-pos-log/](https://www.cppstories.com/2019/04/file-pos-log/)
23. The Interesting Evolution of std::equal_range
[https://www.fluentcpp.com/2022/01/10/the-interesting-evolution-of-stdequal_range/](https://www.fluentcpp.com/2022/01/10/the-interesting-evolution-of-stdequal_range/)
24. Dining Philosophers Problem I
[https://www.modernescpp.com/index.php/dining-philiosophers-problem-i](https://www.modernescpp.com/index.php/dining-philiosophers-problem-i)
25. 6 Ways to Refactor new/delete into unique ptr
[https://www.cppstories.com/2021/refactor-into-uniqueptr/](https://www.cppstories.com/2021/refactor-into-uniqueptr/)
26. How we used C++20 to eliminate an entire class of runtime bugs
[https://devblogs.microsoft.com/cppblog/how-we-used-cpp20-to-eliminate-an-entire-class-of-runtime-bugs/](https://devblogs.microsoft.com/cppblog/how-we-used-cpp20-to-eliminate-an-entire-class-of-runtime-bugs/)
27. One of the simplest error handlers ever written
[https://belaycpp.com/2022/01/13/one-of-the-simplest-error-handlers-ever-written/](https://belaycpp.com/2022/01/13/one-of-the-simplest-error-handlers-ever-written/)
28. Empty Base Class Optimisation, no_unique_address and unique_ptr
[https://www.cppstories.com/2021/no-unique-address/](https://www.cppstories.com/2021/no-unique-address/)
29. Design and evolution of constexpr in C++
[https://pvs-studio.com/en/blog/posts/cpp/0909/](https://pvs-studio.com/en/blog/posts/cpp/0909/)
30. What Are Local Functions, and Do They Exist in C++?
[https://www.youtube.com/watch?v=-EDx6fC6mkQ](https://www.youtube.com/watch?v=-EDx6fC6mkQ)
31. 2021 C++ Standardization Highlights
[https://botondballo.wordpress.com/2022/01/03/2021-c-standardization-highlights/](https://botondballo.wordpress.com/2022/01/03/2021-c-standardization-highlights/)
32. The Interesting Evolution of std::equal_range
[https://www.fluentcpp.com/2022/01/10/the-interesting-evolution-of-stdequal_range/](https://www.fluentcpp.com/2022/01/10/the-interesting-evolution-of-stdequal_range/)
33. A new C++ proposal for standard access to the system thread pool, based on the executors proposal
[https://isocpp.org/files/papers/P2079R2.html](https://isocpp.org/files/papers/P2079R2.html)
34. Improving Stability with Modern C++, Part 1 — Getting Started
[https://medium.com/factset/improving-stability-with-modern-c-part-1-getting-started-f7025e97e1c3](https://medium.com/factset/improving-stability-with-modern-c-part-1-getting-started-f7025e97e1c3)
Improving Stability with Modern C++, Part 2 — Range-Based For-Loops
[https://medium.com/factset/improving-stability-with-modern-c-part-2-range-based-for-loops-cdd27ce7a409](https://medium.com/factset/improving-stability-with-modern-c-part-2-range-based-for-loops-cdd27ce7a409)
Improving Stability with Modern C++, Part 3 — The auto Keyword
[https://medium.com/factset/improving-stability-with-modern-c-part-3-the-auto-keyword-2d529f72c022](https://medium.com/factset/improving-stability-with-modern-c-part-3-the-auto-keyword-2d529f72c022)
Improving Stability with Modern C++, Part 4 — Memory Management
[https://medium.com/factset/improving-stability-with-modern-c-part-4-memory-management-295a152d6901](https://medium.com/factset/improving-stability-with-modern-c-part-4-memory-management-295a152d6901)
35. The Shadowing Mitigation / Private Inheritance Problem
[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0847r7.html#the-shadowing-mitigation-private-inheritance-problem](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0847r7.html#the-shadowing-mitigation-private-inheritance-problem)
36. Technique: Compile Time Code Generation and Optimization
[https://www.foonathan.net/2022/01/compile-time-codegen/](https://www.foonathan.net/2022/01/compile-time-codegen/)
37. Excalibur
[https://www.youtube.com/playlist?list=PLbtjxiXev6lrSovYDdI2xHVcw8Gk2J3Zw](https://www.youtube.com/playlist?list=PLbtjxiXev6lrSovYDdI2xHVcw8Gk2J3Zw)
38. Mundane std::tuple tricks: Getting started
[https://devblogs.microsoft.com/oldnewthing/20200622-00/?p=103900](https://devblogs.microsoft.com/oldnewthing/20200622-00/?p=103900)
Mundane std::tuple tricks: Selecting via an index sequence, part 2
[https://devblogs.microsoft.com/oldnewthing/20200624-00/?p=103902](https://devblogs.microsoft.com/oldnewthing/20200624-00/?p=103902)
39. Top-7 Performance Traps for Every Developer
[https://www.cppstories.com/2021/perf-traps/](https://www.cppstories.com/2021/perf-traps/)
40. 20 Smaller yet Handy C++20 Features
[https://www.cppstories.com/2022/20-smaller-cpp20-features/](https://www.cppstories.com/2022/20-smaller-cpp20-features/)
41. C++ at the end of 2021
[https://www.cppstories.com/2021/cpp-status-2021/](https://www.cppstories.com/2021/cpp-status-2021/)
42. How we used C++20 to eliminate an entire class of runtime bugs
[https://devblogs.microsoft.com/cppblog/how-we-used-cpp20-to-eliminate-an-entire-class-of-runtime-bugs/](https://devblogs.microsoft.com/cppblog/how-we-used-cpp20-to-eliminate-an-entire-class-of-runtime-bugs/)
43. The mystery of the crash that seems to be on a std::move operation
[https://devblogs.microsoft.com/oldnewthing/20220120-00/?p=106178](https://devblogs.microsoft.com/oldnewthing/20220120-00/?p=106178)
44. Fixing the crash that seems to be on a std::move operation
[https://devblogs.microsoft.com/oldnewthing/20220121-20/?p=106182](https://devblogs.microsoft.com/oldnewthing/20220121-20/?p=106182)
45. starts_with() and ends_with() for Strings in C++20
[https://www.cppstories.com/2020/08/string-prefix-cpp20.html/](https://www.cppstories.com/2020/08/string-prefix-cpp20.html/)
46. What are these weird internal Visual C++ runtime functions named NLG?
[https://devblogs.microsoft.com/oldnewthing/20220126-00/?p=106197](https://devblogs.microsoft.com/oldnewthing/20220126-00/?p=106197)
47. Which Programming Paradigm Gives the Most Expressive Code?
[https://www.fluentcpp.com/2022/01/24/programming-paradigm-gives-expressive-code/](https://www.fluentcpp.com/2022/01/24/programming-paradigm-gives-expressive-code/)
48. Back Porting C++20 Coroutines to C++14
[https://ladnir.github.io/blog/2022/01/24/macoro.html](https://ladnir.github.io/blog/2022/01/24/macoro.html)
49. Technique: Compile Time Code Generation and Optimization
[https://www.foonathan.net/2022/01/compile-time-codegen/](https://www.foonathan.net/2022/01/compile-time-codegen/)
50. Why is quicksort faster than heapsort? And how to make them faster?
[https://johnysswlab.com/why-is-quicksort-faster-than-heapsort-and-how-to-make-them-faster/](https://johnysswlab.com/why-is-quicksort-faster-than-heapsort-and-how-to-make-them-faster/)
51. constexpr Functions
[https://www.modernescpp.com/index.php/constexprfunctions](https://www.modernescpp.com/index.php/constexprfunctions)
52. C++ Templates: How to Iterate through std::tuple: the Basics
[https://www.cppstories.com/2022/tuple-iteration-basics/](https://www.cppstories.com/2022/tuple-iteration-basics/)
**Videos**
1. Peter Sommerlad - What Classes We Design and How - Meeting C++ 2021
[https://www.youtube.com/watch?v=Eq6yK3tg5-I](https://www.youtube.com/watch?v=Eq6yK3tg5-I)
2. Conquering C++20 Ranges - Tristan Brindle - CppCon 2021
[https://www.youtube.com/watch?v=3MBtLeyJKg0](https://www.youtube.com/watch?v=3MBtLeyJKg0)
3. Asynchronous I/O and coroutines for smooth data streaming
[https://www.youtube.com/watch?v=9jKCdmAVtOY](https://www.youtube.com/watch?v=9jKCdmAVtOY)
4. C++20 Templates - the next level
[https://www.youtube.com/watch?v=zxbBz40qvIA](https://www.youtube.com/watch?v=zxbBz40qvIA)
5. Marek Krajewski - Two advanced PMR techniques in C++17/20 - Meeting C++ 2021
[https://www.youtube.com/watch?v=6FDdK4V77tU](https://www.youtube.com/watch?v=6FDdK4V77tU)
6. Matthias Killat - Lock-free programming for real-time systems - Meeting C++ 2021
[https://www.youtube.com/watch?v=j2AgjFSFgRc](https://www.youtube.com/watch?v=j2AgjFSFgRc)
7. Practical Advice for Maintaining and Migrating Working Code - Brian Ruth - CppCon 2021
[https://www.youtube.com/watch?v=CktRuMALe2A](https://www.youtube.com/watch?v=CktRuMALe2A)
8. Compile-Time Compression and Resource Generation with C++20 - Ashley Roll - CppCon 2021
[https://www.youtube.com/watch?v=KDO3hbMR1yc](https://www.youtube.com/watch?v=KDO3hbMR1yc)
9. Sandor Dargo - the Concepts of concepts - Meeting C++ 2021
[https://www.youtube.com/watch?v=x6ST1_m9kQ0](https://www.youtube.com/watch?v=x6ST1_m9kQ0)
10. Auto is Not a Data Type
[https://www.youtube.com/watch?v=2hM8w4auYWo](https://www.youtube.com/watch?v=2hM8w4auYWo)
11. Configuration, Extension, Maintainability - Titus Winters - CppCon
[https://www.youtube.com/watch?v=J6SNO5o9ADg](https://www.youtube.com/watch?v=J6SNO5o9ADg)
12. C++ Weekly - Ep 308 - 'if consteval' - There's More To This Story
[https://www.youtube.com/watch?v=y3r9l3LZiJ8](https://www.youtube.com/watch?v=y3r9l3LZiJ8)
13. Failing Successfully: Reporting and Handling Errors - Robert Leahy - CppCon 2021
[https://www.youtube.com/watch?v=dQaRLmM7KKk](https://www.youtube.com/watch?v=dQaRLmM7KKk)
14. Implementing static_vector: How Hard Could it Be? - David Stone - CppCon 2021
[https://www.youtube.com/watch?v=I8QJLGI0GOE](https://www.youtube.com/watch?v=I8QJLGI0GOE)
15. const and constexpr - Rainer Grimm - Meeting C++ online
[https://www.youtube.com/watch?app=desktop&v=VmsFbYy_oRE](https://www.youtube.com/watch?app=desktop&v=VmsFbYy_oRE)
----
## 第2期 220211
**Articles & Papers**
1. C++20 Concepts - a Quick Introduction
https://www.cppstories.com/2021/concepts-intro/
2. GSL 4.0.0 is Available Now
https://devblogs.microsoft.com/cppblog/gsl-4-0-0-is-available-now/
3. Why you should use std::move only rarely
https://andreasfertig.blog/2022/02/why-you-should-use-stdmove-only-rarely/
4. I don’t know which container to use (and at this point I’m too afraid to ask)
https://belaycpp.com/2022/02/02/i-dont-know-which-container-to-use-and-at-this-point-im-too-afraid-to-ask/
5. C++ at its finest: `function_traits<R (T::*)(TArgs......)>
https://t.co/7yn0BaoO1U
6. Working with Strings in Embedded C++
https://blog.feabhas.com/2022/02/working-with-strings-in-embedded-c/
7. Ranges and Forwarding References
https://tristanbrindle.com/posts/ranges-and-forwarding-references
8. Gotcha: C++/WinRT weak_ref.get() doesn’t get the weak reference; it gets the strong reference
https://devblogs.microsoft.com/oldnewthing/20220202-00/?p=106213
9. C++ Smart Pointers and Arrays
https://www.cppstories.com/2021/smartptr-array/
10. On finding the average of two unsigned integers without overflow
https://devblogs.microsoft.com/oldnewthing/20220207-00/?p=106223
11. constexpr and consteval Functions in C++20
http://www.modernescpp.com/index.php/constexpr-and-consteval-functions-in-c-20
12. Improving Output Iterators
https://brevzin.github.io/c++/2022/02/06/output-iterators/
13. The Usual Arithmetic Confusions
https://shafik.github.io/c++/2021/12/30/usual_arithmetic_confusions.html
14. Making my smart memory pool much smarter and rigorous
https://www.reddit.com/r/cpp/comments/smnv24/making_my_smart_memory_pool_much_smarter_and/
15. Design Patterns VS Design Principles: Visitor
https://www.fluentcpp.com/2022/02/09/design-patterns-vs-design-principles-visitor/
16. Non Static Data Members Initialization
https://www.cppstories.com/2015/02/non-static-data-members-initialization/
17. Implementing Parallel copy_if in C++
https://www.cppstories.com/2021/par-copyif/
18. C++ Insights news flash - Clang 13 and more
https://andreasfertig.blog/2022/02/cpp-insights-news-flash-clang-13-and-more/
19. Examples of 7 Handy Functions for Associative Containers in Modern C++
https://www.cppstories.com/2021/handy-map-functions/
**Videos**
1. Design Patterns: Facts and Misconceptions - Klaus Iglberger - CppCon 2021
https://www.youtube.com/watch?v=OvO2NR7pXjg
2. Documentation in the Era of Concepts and Ranges - Christopher Di Bella & Sy Brand - CppCon 2021
https://www.youtube.com/watch?v=nm45t2fnUms&list=PLHTh1InhhwT6vjwMy3RG5Tnahw0G9qIx6
3. Embracing User Defined Literals Safely for Types that Behave as though Built-in - Pablo Halpern
https://www.youtube.com/watch?v=0p_RCdoxn5w
4. C++ Weekly - Ep 310 - Your Small Integer Operations Are Broken!
https://www.youtube.com/watch?v=R6_PFqOSa_c
5. C++ Weekly - Ep 309 - Are Code Comments a Code Smell?
https://www.youtube.com/watch?v=8V6Ry5eTTcc
6. The Preprocessor: Everything You Need to Know and More! - Brian Ruth - CppCon 2021
https://www.youtube.com/watch?v=6KNdGnUiRBM
7. C++ to the RISCue! A Practical Guide for Embedded C++20 - Kris Jusiak - CppCon 2021
https://www.youtube.com/watch?v=2Bi8SiVwyQA
8. SIMD algorithms
https://www.youtube.com/playlist?list=PLYCMvilhmuPEM8DUvY6Wg_jaSFHpmlSBD
9. Sandor Dargo - the Concepts of concepts - Meeting C++ 2021
https://www.youtube.com/watch?v=e77_aSaGfww
10. Composable C++: Principles and Patterns - Ben Deane - CppCon 2021
https://www.youtube.com/watch?v=zclxRbh4AN0
----
## 第3期 220218
**Articles & Papers**
1. Improving Stability with Modern C++, Part 5 — Revisiting the Rule of Three
https://medium.com/factset/improving-stability-with-modern-c-part-5-revisiting-the-rule-of-three-402415ef09ec
2. constexpr if
http://www.modernescpp.com/index.php/constespr-if
3. C++ Templates: How to Iterate through std::tuple: std::apply and More
https://www.cppstories.com/2022/tuple-iteration-apply/
4. Embed the source code directly in your Qt app with qmake and qrc, for GPL compliance
https://raymii.org/s/articles/Embed_the_source_code_directly_in_your_Qt_app.html?utm_medium=rss&utm_source=raymii&utm_campaign=mainfeed
5. How to Use C++20 Modules with Bazel and Clang
https://buildingblock.ai/cpp20-modules-bazel
6. The 114 standard C++ algorithms. Introduction
https://itnext.io/the-114-standard-c-algorithms-introduction-2a75a2df4300
7. Projections are Function Adaptors
https://brevzin.github.io/c++/2022/02/13/projections-function-adaptors/
x. On windows, why would any C or C++ developer use Visual Studio Code instead of Visual Studio IDE? 讨论
https://www.reddit.com/r/cpp/comments/sqz0y0/on_windows_why_would_any_c_or_c_developer_use/
1. COM asynchronous interfaces, part 1: The basic pattern
https://devblogs.microsoft.com/oldnewthing/20220214-44/?p=106251
COM asynchronous interfaces, part 2: Abandoning the operation
https://devblogs.microsoft.com/oldnewthing/20220215-00/?p=106253
COM asynchronous interfaces, part 3: Abandoning the operation after a timeout
https://devblogs.microsoft.com/oldnewthing/20220216-00/?p=106261
COM asynchronous interfaces, part 4: Doing work while waiting for the asynchronous operation
https://devblogs.microsoft.com/oldnewthing/20220217-00/?p=106263
2. Constant references are not always your friends
https://belaycpp.com/2022/02/15/constant-references-are-not-always-your-friends/
3. Why I prefer C++: “RAII All The Things!” cm 早了
https://covemountainsoftware.com/2019/11/26/why-i-prefer-c-raii-all-the-things/
4. C++ Trailing Return Types
https://www.danielsieger.com/blog/2022/01/28/cpp-trailing-return-types.html
5. Static B-Trees
https://en.algorithmica.org/hpc/data-structures/s-tree/
6. The 114 standard C++ algorithms. Introduction
https://itnext.io/the-114-standard-c-algorithms-introduction-2a75a2df4300
7. Modern C++: Safety and Expressiveness with override and final
https://www.cppstories.com/2021/override-final/
8. 12 Different Ways to Filter Containers in Modern C++
https://www.cppstories.com/2021/filter-cpp-containers/
9. Faster integer formatting - James Anhalt (jeaiii)’s algorithm
https://jk-jeon.github.io/posts/2022/02/jeaiii-algorithm/
X Senders and receivers (http://wg21.link/p2300) did not get consensus in LEWG so won't be in C++23
https://twitter.com/a_williams/status/1493616627547529228
https://twitter.com/atomgalaxy/status/1493666767213940744
x Simplify your code by implementing pre- and post-increment operator++ in one function
https://twitter.com/vzverovich/status/1494049062668038145
**Videos**
1. C++ Weekly - Ep 311 - ++i vs i++
https://www.youtube.com/watch?v=ObVRSNvGitE
2. Back To Basics: The Special Member Functions - Klaus Iglberger - CppCon 2021
https://www.youtube.com/watch?v=9BM5LAvNtus
3. [MUC++] Vittorio Romeo - C++11/14 at Scale: What Have We Learned?
https://www.youtube.com/watch?v=B7FGIFCyVEs
4. Deploying the Networking TS - Robert Leahy - CppCon 2021
https://www.youtube.com/watch?v=Qa6VDymDAr0
5. Beyond struct: Meta-programming a struct Replacement in C++20 - John Bandela - CppCon 2021 cm reflection
https://www.youtube.com/watch?app=desktop&v=FXfrojjIo80
6. SIMD in C++20: eve of a new era - Joel Falcou & Denis Yaroshevskiy
https://www.youtube.com/watch?v=XAqMBLGJeXY
7. ++namedtuple - Python-style Named Tuples in C++20 - Kris Jusiak - CppCon 2021
https://www.youtube.com/watch?v=4PwNi0Zgmm0
8. Keynote: C++'s Superpower - Matt Godbolt - CPPP 2021
https://www.youtube.com/watch?v=0_UttFDnV3k
9. Interactive C++ for Data Science - Vassil Vassilev - CppCon 2021
https://www.youtube.com/watch?v=23E0S3miWB0
## 第4期 220225
**Articles & Papers**
1. Vector of Objects vs Vector of Pointers
https://www.cppstories.com/2014/05/vector-of-objects-vs-vector-of-pointers/
2. Ways to Refactor Toggle/Boolean Parameters in C++
https://www.cppstories.com/2017/03/on-toggle-parameters/
3. Dynamic and Static Polymorphism
https://www.modernescpp.com/index.php/dynamic-and-static-polymorphism
4. Three C++23 features for common use
https://mariusbancila.ro/blog/2022/01/17/three-cpp23-features-for-common-use/
5. Supervising in C++: how to make your programs reliable
https://basiliscos.github.io/blog/2022/02/20/supervising-in-c-how-to-make-your-programs-reliable/
6. COM asynchronous interfaces, part 6: Learning about completion without polling
https://devblogs.microsoft.com/oldnewthing/20220221-42/?p=106275
COM asynchronous interfaces, part 7: Being called directly when the operation completes
https://devblogs.microsoft.com/oldnewthing/20220222-00/?p=106279
COM asynchronous interfaces, part 8: Asynchronous release, the problems
https://devblogs.microsoft.com/oldnewthing/20220223-00/?p=106282
7. A Mock QCanBusDevice for TDD
https://embeddeduse.com/2022/02/21/a-mock-qcanbusdevice-for-tdd/
8. My favorite C++20 feature
https://schneide.blog/2022/02/21/my-favorite-c20-feature/
9. Returning values and errors
https://rachelbythebay.com/w/2022/02/20/return/
10. How to Use C++20 Modules with Bazel and Clang
https://buildingblock.ai/cpp20-modules-bazel
11. Projections are Function Adaptors
https://brevzin.github.io/c++/2022/02/13/projections-function-adaptors/
12. A Good Way to Handle Errors Is To Prevent Them from Happening in the First Place
https://www.fluentcpp.com/2022/02/25/a-good-way-to-handle-errors-is-to-prevent-them-from-happening-in-the-first-place/
**Videos**
1. Cracking the C0dez: Reversing C++, Structs & Stack Frames with Ghidra - Full CrackMe Walkthrough
https://www.youtube.com/watch?v=re6rmkSUvtM
2. Testing Compile-time Constructs in a Runtime Unit Testing Framework - Igor Bogoslavskyi - CppCon 21
https://www.youtube.com/watch?v=hMn_dCae00g
3. C++ Weekly - Ep 312 - Stop Using `constexpr` (And Use This Instead!)
https://www.youtube.com/watch?v=4pKtPWcl1Go
4. Guy Davidson - Everything you know about colour is wrong - Meeting C++ online
https://www.youtube.com/watch?v=_zQ_uBAHA4A
5. Design of a C++ reflection API - Matúš Chochlík - Meeting C++ online
https://www.youtube.com/watch?v=mPtWMXxWoEg
6. Sums, Products, Exponents, Monoids, Functors, Oh My! - Steve Downey - CppCon 2021
https://www.youtube.com/watch?v=FrPzW8U7O6o
7. A Crash Course in Calendars, Dates, Time, and Time Zones - Marc Gregoire - CppCon 2021
https://www.youtube.com/watch?v=mpteQ9wWOQA
8. Guy Davidson - Everything you know about colour is wrong - Meeting C++ online
https://www.youtube.com/watch?v=_zQ_uBAHA4A
9. Design Idioms from an Alternate Universe - Ivan Čukić - CppCon 2021
https://www.youtube.com/watch?v=nw20sMc3LD0
10. Introduction to memory exploitation - Patricia Aas - Meeting C++ 2021
https://www.youtube.com/watch?v=s18lHhN-NXc
11. The Basics of Profiling - Mathieu Ropert - CppCon 2021
https://www.youtube.com/watch?v=dToaepIXW4s
12. SFINAE: Substitution Failure is not an Error | Top-Up C++ [C++ #02]
https://www.youtube.com/watch?app=desktop&v=mNxAqLVIaW0&feature=youtu.be&ab_channel=WolfSound
**Library**
1. Top 23 C++ Networking Projects
https://www.libhunt.com/l/cpp/topic/networking
2. A modern thread pool implementation based on C++20
https://github.com/DeveloperPaul123/thread-pool
3. Cheerp 2.7: compile C++ to WebAssembly plus JavaScript
https://medium.com/leaningtech/cheerp-2-7-compile-cpp-to-webassembly-plus-javascript-c9b3ef7e318b
4. A C++11 library for reading Microsoft Program DataBase PDB files
https://github.com/MolecularMatters/raw_pdb
constexpr std::unique_ptr提案进了C++23
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2273r3.pdf
Visual Studio开源库集成器Vcpkg全教程--利用Vcpkg轻松集成开源第三方库
https://blog.csdn.net/cjmqas/article/details/79282847
https://cmake.org/cmake/help/latest/guide/tutorial/index.html
views::concat
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2542r0.html
https://github.com/vog/sha1
----
## 第5期 220304
**Articles & Papers**
1. Visualising Module Dependencies with CMake and Graphviz
https://embeddeduse.com/2022/03/01/visualising-module-dependencies-with-cmake-and-graphviz/
2. A destructor, =default, and the move operations
https://andreasfertig.blog/2022/03/a-destructor-default-and-the-move-operations/
3. wordlexpr: compile-time wordle in c++20
https://vittorioromeo.info/index/blog/wordlexpr.html
cm https://www.youtube.com/watch?v=wp3LPrhu2Sk
4. Zero-cost exceptions aren’t actually zero cost
https://devblogs.microsoft.com/oldnewthing/20220228-00/?p=106296
5. C++ header files and inter-class connections
https://rachelbythebay.com/w/2022/02/26/include/
6. Curious lack of sprintf scaling
https://aras-p.info/blog/2022/02/25/Curious-lack-of-sprintf-scaling/
7. Mocking virtual functions with gMock
https://www.sandordargo.com/blog/2022/03/02/mocking-non-virtual-and-free-functions
8. 3 interesting behaviors of C++ casts
https://belaycpp.com/2022/03/02/3-interesting-behaviors-of-c-casts/
9. Picking Fairly From a List of Unknown Size With Reservoir Sampling
https://blog.demofox.org/2022/03/01/picking-fairly-from-a-list-of-unknown-size-with-reservoir-sampling/
**Videos**
1. C++ Weekly - Ep 313 - The `constexpr` Problem That Took Me 5 Years To Fix!
https://www.youtube.com/watch?v=ABg4_EV5L3w
2. Generic Graph Libraries in C++20 - Andrew Lumsdaine & Phil Ratzloff - CppCon 2021
https://www.youtube.com/watch?v=Yk21tYLnzD8
3. More about Dynamic and Static Polymorphism
http://www.modernescpp.com/index.php/more-about-dynamic-and-static-polymorhism
4. C++ header files and inter-class connections
https://rachelbythebay.com/w/2022/02/26/include/
5. Ever Closer - C23 Draws Nearer
https://thephd.dev/ever-closer-c23-improvements
6. Back to Basics: Classic STL - Bob Steagall - CppCon 2021
https://www.youtube.com/watch?v=tXUXl_RzkAk
7. The Factory Pattern - Mike Shah - CppCon 2021
https://www.youtube.com/watch?v=4xrNtB60g0g
8. How I made a DOCUMENTATION WEBSITE for my Game Engine
https://www.youtube.com/watch?v=tJDof3nrfHU
9. Back to Basics: Casting - Brian Ruth - CppCon 2021
https://www.youtube.com/watch?v=2h2hdRqRIRk
10. Arno Lepisk: Testing non-compiling code
https://www.youtube.com/watch?v=02Hu0amx-5Y
cm 关于 << >>读法的讨论
https://twitter.com/a_williams/status/1498014470148341769
cm 这个算法网站看起来很历害
https://en.algorithmica.org/hpc/data-structures/segment-trees/
scanf for modern c++
https://github.com/eliaskosunen/scnlib
cm 可以看看其实现
Your introduction to EFTs
https://www.extremelyfungible.com/
https://twitter.com/KandyElmo/status/1498174541503344644 相关转换链接
cm 挺有意思的图片站点
Log management
reimagined for 2022
Experience SQL-compatible structured log management based on ClickHouse.
https://betterstack.com/logtail?utm_medium=Advertising&utm_source=Twitter&utm_campaign=basic&twclid=11498661066586279936
Deducing this
https://twitter.com/sehetw/status/1498389072288624642
https://www.sandordargo.com/blog/2022/02/16/deducing-this-cpp23
td 明天看看这个特性,很有意思
{fmt} Formatting & Printing Library
https://hackingcpp.com/cpp/libs/fmt.html
抱猫女孩作品地址
https://www.pixiv.net/artworks/35278067
http://qmlbook.github.io/
----
## 第6期 220311
**Articales & Papers**
1. Modern C++ In-Depth — Move Semantics, Part 1
https://medium.com/factset/modern-c-in-depth-move-semantics-part-1-8a29d33944e4
2. Code golfing: Optimizing code to darken a bitmap, part 1
https://devblogs.microsoft.com/oldnewthing/20220307-00/?p=106317
3. Mixins td see shared_from_this
http://www.modernescpp.com/index.php/mixins
4. Mocking non-virtual and free functions with gMock
https://www.sandordargo.com/blog/2022/03/09/mocking-non-virtual-and-free-functions
5. Optimizing code to darken a bitmap, part 1
https://devblogs.microsoft.com/oldnewthing/20220307-00/?p=106317
Optimizing code to darken a bitmap, part 2
https://devblogs.microsoft.com/oldnewthing/20220308-00/?p=106321
Optimizing code to darken a bitmap, part 3
https://devblogs.microsoft.com/oldnewthing/20220309-00/?p=106331
Optimizing code to darken a bitmap, part 4
https://devblogs.microsoft.com/oldnewthing/20220310-00/?p=106335
6. TIL: nullopt_t is not equality-comparable, but monostate is
https://quuxplusone.github.io/blog/2022/03/07/monostate-vs-nullopt/
7. Bannalia: trivial notes on themes diverse
http://bannalia.blogspot.com/2022/03/emulating-template-named-arguments-in.html
8. Emulating template named arguments in C++20
http://bannalia.blogspot.com/2022/03/emulating-template-named-arguments-in.html
**Videos**
1. Daniela Engert - A short tour of C++ Modules - Modules demystified and applied - Meeting C++ 2021
https://www.youtube.com/watch?v=35SlLAGLRIA
2. Inbal Levi - Smart Pointers and RAII - Meeting C++ online
https://www.youtube.com/watch?v=XU-dujj72SM
3. Introduction to memory exploitation - Patricia Aas - Meeting C++ 2021
https://www.youtube.com/watch?v=s18lHhN-NXc
4. C++ Weekly - Ep 314 - Every Possible Way To Force The Compiler To Do Work At Compile-Time in C++
https://www.youtube.com/watch?v=UdwdJWQ5o78
5. A Case-study in Rewriting a Legacy GUI Library for Real-time Audio Software in Modern C++
https://www.youtube.com/watch?v=90I0hH5-r5A
The capabilities in mp11 are important, so they've become language features in Circle. Destruct a variant in one statement
https://twitter.com/seanbax/status/1500908713300930560
----
## 第7期 220320
**Articles & Papers**
1. #### To Save C, We Must Save ABI
https://thephd.dev/to-save-c-we-must-save-abi-fixing-c-function-abi
2. Code It Yourself: Generate All the Combinations from Several Collections
https://www.fluentcpp.com/2022/03/14/code-it-yourself-generate-all-the-combinations-from-several-collections/
3. C++ UI Libraries
https://philippegroarke.com/posts/2018/c++_ui_solutions/
4. Avoiding Temporaries with Expression Templates
https://www.modernescpp.com/index.php/avoiding-temporaries-with-expression-templates
5. Making our multiple-interface query more C++-like, part 1
https://devblogs.microsoft.com/oldnewthing/20220317-00/?p=106359
Making our multiple-interface query more C++-like, part 2
https://devblogs.microsoft.com/oldnewthing/20220318-00/?p=106362
6. New C++23 range adaptors
https://mariusbancila.ro/blog/2022/03/16/new-cpp23-range-adaptors/
7. C++ basics: Pointers vs iterators
https://www.sandordargo.com/blog/2022/03/16/iterators-vs-pointers
8. Top 10 secure C++ coding practices
https://www.incredibuild.com/blog/top-10-secure-c-coding-practices
9. Optimizing return values
https://marcofoco.com/optimizing-return-values/
10. How to add thousands of lights to your renderer and not die in the process
http://www.zyanidelab.com/how-to-add-thousands-of-lights-to-your-renderer/
11. Code It Yourself: Generate All the Combinations from Several Collections
https://www.fluentcpp.com/2022/03/14/code-it-yourself-generate-all-the-combinations-from-several-collections/
12. Visual Studio for remote macOS C++ development
https://devblogs.microsoft.com/cppblog/visual-studio-for-remote-macos-c-development/
13. C++ Modules in CMake with Visual Studio
https://devblogs.microsoft.com/cppblog/cpp20-modules-in-cmake-with-vs/
14. How to Generate All the Combinations from Several Collections
https://www.fluentcpp.com/2022/03/18/how-to-generate-all-the-combinations-from-several-collections/
**Videos**
1. Multi Threading Model in Paradox Games: Past, Present and Future - Mathieu Ropert - CppCon 2021
https://www.youtube.com/watch?v=e_2z7uWouuk
2. Debugging Assembly Language and GPU Kernels in Visual Studio Code - Julia Reid - CppCon 2021
https://www.youtube.com/watch?v=A1Pu1yXfI94
3. Custom Views for the Rest of Us - Jacob Rice - CppCon 2021
https://www.youtube.com/watch?v=P9XXJuAYhMQ
4. GCC Explorer: A utility for exploring GCC error logs
https://www.youtube.com/watch?v=cKLPlHHa7vk
5. C++ Weekly - Ep 315 - constexpr vs static constexpr
https://www.youtube.com/watch?v=IDQ0ng8RIqs
std::is_constant_evaluated is a broken mechanism. Don't use it!
https://twitter.com/seanbax/status/1503590371493875715
ogre图形渲染引擎
https://www.ogre3d.org/
git热力图绘制图案
https://twitter.com/MarisaBrantley/status/1503221566951215105 【出处】
https://github.com/jh3y/vincent-van-git
https://github.com/gelstudios/gitfiti
https://github.com/dalirnet/gitart
C++单元测试库的survey:
https://meetingcpp.com/mcpp/survey/index.php
模板参数的类型:circle
https://twitter.com/seanbax/status/1503399832215601157
cm: Universal Template Parameters: P1985
https://www.reddit.com/r/cpp_questions/comments/tgxjth/how_would_you_createmaintain_a_new_c_project/
msvc实现了ducing this
https://godbolt.org/z/fbc697xo4
----
## 第8期 220327
**Articles & Papers**
1. Nvidia: ‘We Are A Quantum Computing Company’
https://www.insidequantumtechnology.com/news-archive/nvidia-we-are-a-quantum-computing-company/
2. SFINAE, Immediate Context, Operator << and '\n'
https://www.cppstories.com/2022/sfinea-immediate-context/
3. Minimum viable declarative GUI in C++
https://ossia.io/posts/minimum-viable/
4. Quirks of C
https://gist.github.com/fay59/5ccbe684e6e56a7df8815c3486568f01
cm: https://twitter.com/lichray/status/1506729412514832386
5. Why does C++/WinRT say that first_interface is not a member of winrt::impl::interface_list<>?
https://devblogs.microsoft.com/oldnewthing/20220323-00/?p=106378
6. Injected class names: The C++ feature you didn’t even realize that you were using
https://devblogs.microsoft.com/oldnewthing/20220321-00/?p=106367
7. Policy
https://www.modernescpp.com/index.php/policy-and-traits
8. Behind C++/WinRT: How does C++/WinRT get the list of implemented interfaces?
https://devblogs.microsoft.com/oldnewthing/20220325-00/?p=106384
9. How to Generate All the Combinations from Several Collections
https://www.fluentcpp.com/2022/03/18/how-to-generate-all-the-combinations-from-several-collections/
10. Runtime Polymorphism with std::variant and std::visit
https://www.cppstories.com/2020/04/variant-virtual-polymorphism.html/
**Videos**
1. Using Clang LibASTMatchers for Compliance in Codebases - Jonah Jolley - CppCon 2021
https://www.youtube.com/watch?v=icvNkYextOo
2. C++ Best Practices Game Jam #1 - Starts April 1, 2022 - Info, Rules and Quick-Start
https://www.youtube.com/watch?v=4V4ZrB3o6g4
3. How Can Package Managers Handle ABI (In)compatibility in C++? - Todd Gamblin - CppCon 2021
https://www.youtube.com/watch?v=gWe2K_oCp6A
4. Finding Bugs Using Path-Sensitive Static Analysis - Gabor Horvath - CppCon 2021
https://www.youtube.com/watch?v=B3kUHgTsbxc
5. C++ Weekly - Ep 316 - What Are `const` Member Functions?
https://www.youtube.com/watch?v=bqd9ILyQRxQ
6. Quantum Computing for Computer Scientists
https://www.youtube.com/watch?v=F_Riqjdh2oM
constexpr maze generator
https://twitter.com/Cor3ntin/status/1507860690400419842
unevaluated lambdas
https://twitter.com/Cor3ntin/status/1507659251648446467
quantum computing
https://twitter.com/blelbach/status/1506663964717027328
https://twitter.com/blelbach/status/1506601657047658496
https://twitter.com/NVIDIAAIDev/status/1506324640599224320
https://twitter.com/Arm/status/1506348690486792195
C++20 Compile time run-length encoding
https://twitter.com/Xilefian/status/1506383503189061641
std::to_underlying
https://twitter.com/TartanLlama/status/1505932287464120320
std::byteswap
https://twitter.com/TartanLlama/status/1505935284046807053
## 第9期 220408
**Articles & Papers**
1. The std::invoke function does more than invoke functions
https://devblogs.microsoft.com/oldnewthing/20220401-00/?p=106426
2. Converting integers to decimal strings faster with AVX-512
https://lemire.me/blog/2022/03/28/converting-integers-to-decimal-strings-faster-with-avx-512/
3. AUTOSAR C++ compliant deep learning inference with TensorRT
https://learnopencv.com/autosar-c-compliant-deep-learning-inference-with-tensorrt/?utm_source=rss&utm_medium=rss&utm_campaign=autosar-c-compliant-deep-learning-inference-with-tensorrt
4. [RFC] Lifetime annotations for C++
https://discourse.llvm.org/t/rfc-lifetime-annotations-for-c/61377
5. Storing references of pointers in containers in C++
https://www.sandordargo.com/blog/2022/03/30/vector-of-references-of-pointers
6. saturating_add vs. saturating_int – new function vs. new type?
https://www.foonathan.net/2022/03/behavior-function-type/
7. Divide & Conquer and Sets: The 114 C++ algorithms series
https://itnext.io/divide-conquer-and-sets-the-114-c-algorithms-series-d0085a38046e
8. C++20 Ranges: The Key Advantage - Algorithm Composition
https://www.cppstories.com/2022/ranges-composition/
9. C++20 Ranges, Projections, std::invoke and if constexpr
https://www.cppstories.com/2020/10/understanding-invoke.html/
10. Software Rasterization of 2 Billion Points in Real Time
https://www.cg.tuwien.ac.at/research/publications/2022/SCHUETZ-2022-PCC/
11. Automatic Serialization in C++ for Game Engines
https://indiegamedev.net/2022/03/28/automatic-serialization-in-cpp-for-game-engines/
12. Software Design with Traits and Tag Dispatching
http://www.modernescpp.com/index.php/softwaredesign-with-traits-and-tag-dispatching
13. Metal in C++ with SDL2
https://schneide.blog/2022/03/28/metal-in-c-with-sdl2/
14. C++23 Will Be Really Awesome oc: 愚人节
https://www.kdab.com/cpp23-will-be-really-awesome/
**Videos**
1. Combining Co-Routines and Functions into a Job System - Helmut Hlavacs - CppCon 2021
https://www.youtube.com/watch?v=1ZMasi_9g_A
2. C++ Best Practices Game Jam #1 - Starts April 1, 2022 - Info, Rules and Quick-Start
https://www.youtube.com/watch?v=4V4ZrB3o6g4
3. Maps in C++ (std::map and std::unordered_map)
https://www.youtube.com/watch?v=KiB0vRi2wlc
4. Building an Extensible Type Serialization System Using Partial Template Specialization - CppCon 2021
https://www.youtube.com/watch?v=-2Sda1-03i8
5. Advanced CPU Designs: Crash Course Computer Science #9
https://www.youtube.com/watch?v=rtAlC5J1U40
6. [MUC++] Sándor Dargó - Strongly typed containers
https://www.youtube.com/watch?v=QXE43Zqr_WM
7. Data Orientation For The Win! - Eduardo Madrid - CppCon 2021
https://www.youtube.com/watch?v=QbffGSgsCcQ
8. C++ Weekly - Ep 317 - Do You Really Understand Member Functions?
https://www.youtube.com/watch?v=4etjb2_KAaE
Dynamically Loaded Libraries Outside the Standard - Zhihao Yuan - CppCon 2021
https://www.youtube.com/watch?v=-dxCaM4GOqs
Using C++17 std::optional
https://www.cppstories.com/2018/05/using-optional/
constexpr系列
https://www.youtube.com/playlist?list=PLs3KjaCtOwSaqPapPV4pc1SRjypnwrXYV
Examples of 7 Handy Functions for Associative Containers in Modern C++
https://www.cppstories.com/2021/handy-map-functions/
Empty Base Class Optimisation, no_unique_address and unique_ptr
https://www.cppstories.com/2021/no-unique-address/
不同的模板参数类型
https://godbolt.org/z/619Kj8jKz
----
## 第10期 220505
**Articles & Papers**
1. [How to quantify technical debt inflation](https://belaycpp.com/2022/04/06/how-to-quantify-technical-debt-inflation/)
2. [Design Patterns VS Design Principles: Abstract Factory](https://www.fluentcpp.com/2022/04/06/design-patterns-vs-design-principles-abstract-factory/)
3. [Use strong types instead of bool parameters](https://www.sandordargo.com/blog/2022/04/06/use-strong-types-instead-booleans)
4. [String representations are not unique: learn to normalize!](https://lemire.me/blog/2022/04/05/string-representations-are-not-unique-learn-to-normalize/)
5. [Please repeat yourself: The noexcept(noexcept(…)) idiom](https://devblogs.microsoft.com/oldnewthing/20220408-00/?p=106438)
6. [Using std::chrono](https://akrzemi1.wordpress.com/2022/04/11/using-stdchrono/)
7. [Three Benchmarks of C++20 Ranges vs Standard Algorithms](https://www.cppstories.com/2022/ranges-perf/)
8. [Pointers Are Complicated III, or: Pointer-integer casts exposed](https://www.ralfj.de/blog/2022/04/11/provenance-exposed.html)
9. [C++20 Ranges: The Key Advantage - Algorithm Composition](https://www.cppstories.com/2022/ranges-composition/)
10. [Type Erasure](http://www.modernescpp.com/index.php/type-erasure)
11. [N2966 Restartable and Non-Restartable Functions for Efficient Character Conversions](https://thephd.dev/_vendor/future_cxx/papers/C%20-%20Restartable%20and%20Non-Restartable%20Character%20Functions%20for%20Efficient%20Conversions.html)
12. [Metamorphic Fuzzing of C++ Libraries](http://www.doc.ic.ac.uk/~afd/homepages/papers/pdfs/2022/ICST.pdf)
13. [Unwrapping WinUI3 for C++](https://mariusbancila.ro/blog/2022/04/08/unwrapping-winui3-for-cpp/)
14. [C++20 Ranges Algorithms - 7 Non-modifying Operations](https://www.cppstories.com/2022/ranges-alg-part-one/)
15. [The 4 use of using in C++](https://www.sandordargo.com/blog/2022/04/27/the-4-use-of-using-in-cpp)
16. [Copy-Paste Developments](https://www.fluentcpp.com/2022/04/26/copy-paste-developments/)
17. [C++ Weekly - Ep 321 - April 2022 Best Practices Game Jam Results](https://www.youtube.com/watch?v=TQTb6ewowtk)
18. [Customizing GitHub Codespaces for C++ Projects](https://devblogs.microsoft.com/cppblog/customizing-github-codespaces-for-cpp-projects/)
19. [Local Time C++20](https://akrzemi1.wordpress.com/2022/04/24/local-time/)
20. [Define Concepts](http://www.modernescpp.com/index.php/define-concepts)
21. [Why Write an Empty finalize() Method?](https://stuartmarks.wordpress.com/2022/04/27/why-write-an-empty-finalize-method/)
22. [A Dataset and Explorer for 3D Signed Distance Functions](https://tovacinni.github.io/sdf-explorer/)
23. [CTwik : General Purpose Hot Patcher For C++](https://mohitmv.github.io/blog/CTwik-General-Purpose-Hot-Patcher-For-Cpp/)
24. [Trying to create a factory that remembers the parameters to pass to another method](https://devblogs.microsoft.com/oldnewthing/20220422-00/?p=106516)
25. [A friendly introduction to machine learning compilers and optimizers](https://huyenchip.com/2021/09/07/a-friendly-introduction-to-machine-learning-compilers-and-optimizers.html)
26. [Left folds and other reductions: The 114 C++ algorithms series](https://itnext.io/left-folds-and-other-reductions-the-114-c-algorithms-series-6195724d324)
27. [Faster GDB Startup](https://tromey.com/blog/?p=1084)
28. [Class template argument deduction may be the new hotness, but we’ll always have maker functions](https://devblogs.microsoft.com/oldnewthing/20220420-00/?p=106506)
29. [Changing std::sort at Google’s Scale and Beyond](https://danlark.org/2022/04/20/changing-stdsort-at-googles-scale-and-beyond/)
30. [Defining Concepts with Requires Expressions](http://www.modernescpp.com/index.php/defining-concepts-with-requires-expressions)
31. [Move semantics and rvalue references: Modern C++ fundamentals](https://medium.com/@simontoth/move-semantics-and-rvalue-references-modern-c-fundamentals-cbbe38760c05)
32. [HTTP GET requests with Qt and in Qml (async)](https://raymii.org/s/tutorials/HTTP_GET_requests_in_Qt_and_Qml_async.html?utm_medium=rss&utm_source=raymii&utm_campaign=mainfeed)
33. [What’s up with std::piecewise_construct and std::forward_as_tuple?](https://devblogs.microsoft.com/oldnewthing/20220428-00/?p=106540)
fm: https://www.reddit.com/r/cpp/comments/ue2d82/whats_up_with_stdpiecewise_construct_and/
34. [Episode 75: C++ Algorithms with Ben Deane (Part 1)](https://adspthepodcast.com/2022/04/29/Episode-75.html)
35. [Building a CI Pipeline with CTest and CDash](https://embeddeduse.com/2022/05/02/building-a-ci-pipeline-with-ctest-and-cdash/)
36. [Comparing Memory Sanitizers](https://julienjorge.medium.com/comparing-memory-sanitizers-d4a944120418)
37. [Using Requires Expression in C++20 as a Standalone Feature](http://www.modernescpp.com/index.php/using-requires-expression-in-c-20-as-a-standalone-feature)
38. [Qt Extending the range of time](https://www.qt.io/blog/extending-the-range-of-time-zones)
**Videos**
1. [Lightning Talk: Upgrading The Compiler Isn't Free - Andre Kostur - CppCon 2021](https://www.youtube.com/watch?v=bXx3-drA_oI)
2. [Lightning Talk: Zen and the Art of Software Maintenance - Sam Sobell - CppCon 2021](https://www.youtube.com/watch?v=Uth16GN0j0k)
3. [Lightning Talk: That's a @meta rotate! - Kris Jusiak - CppCon 2021](https://www.youtube.com/watch?v=B-iQaI8NCl0)
cm: std::rotate
https://twitter.com/seanbax/status/1512221069008015361
4. [Lightning Talk: You Too Can Have Fun with Ray Tracing! - Jeff Amstutz - CppCon 2021](https://www.youtube.com/watch?v=LEeuOYAtMws)
5. [TermBreaker: C++ terminal game](https://www.youtube.com/watch?v=z6RpuJuTbD8)
6. [Lightning Talk: Using the IFC Specification - Cameron DaCamara - CppCon 2021](https://www.youtube.com/watch?v=57kPSjSSZX8)
7. [Lightning Talk: The Process Is The Problem - Ben Deane - CppCon 2021](https://www.youtube.com/watch?v=UsatcY5CvAQ)
8. [Lightning Talk: The Most Important Design Guideline - Jeff Amstutz - CppCon 2021](https://www.youtube.com/watch?v=SsWzdF9WvOY)
9. [Lightning Talk: Bridging Arenas & GC - Joshua Haberman - CppCon 2021](https://www.youtube.com/watch?v=sP2M1ceYN9E)
10. [Decorator Pattern Explained (in C++)](https://www.youtube.com/watch?v=jtSCsHlvoa0)
11. [Live coding: some work on Compiler Explorer (day 3 of 5)](https://www.youtube.com/watch?v=eFksPtYxCn0)
12. [Lightning Talk: Quantum Interpretations of the C++ Object Model - David Stone - CppCon 2021](https://www.youtube.com/watch?v=hWPohuUR0e4)
13. [Denis Yaroshevskiy - my first SIMD - Meeting C++ online](https://www.youtube.com/watch?v=d6NcnyXjc3I)
14. [Lightning Talk: Direct Aggregate Initialisation - Timur Doumler - CppCon 2021](https://www.youtube.com/watch?v=flLNi0aejew)
15. [Lightning Talk: Memoizing Constexpr Programs - Chris Philip - CppCon 2021](https://www.youtube.com/watch?v=wFRlUNSMK8s)
16. [Lightning Talk: Curry-Howard Correspondence - Jefferson Carpenter - CppCon 2021](https://www.youtube.com/watch?v=10w1VwtIrq8)
17. [Welcome to Ray Tracing](https://www.youtube.com/watch?v=gfW1Fhd9u9Q)
18. [C++ Weekly - Ep 322 - Top 4 Places To Never Use `const` ](https://www.youtube.com/watch?v=dGCxMmGvocE)
19. [Lightning Talk: Is My Cat Turing-Complete? - Chloé Lourseyre - CppCon 2021](https://www.youtube.com/watch?v=RtqTGSOdmBo)
20. [Lightning Talk: Better Support For Emotive Programming in C++ - Pablo Halpern - CppCon 2021](https://www.youtube.com/watch?v=dfN9syWIEsg)
21. [C++ Weekly - Ep 319 - A JSON To C++ Converter](https://www.youtube.com/watch?v=HROQPE59q_w)
gcc bug Wrong code with -O1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105189
autotools pdf
https://www.lrde.epita.fr/~adl/autotools.html
Synchronizing Tests with Latches
https://twitter.com/ciura_victor/status/1512751146611482627
C++20: invocable with concepts for parameters cm: 有点意思
https://godbolt.org/z/GcvvE5W4d
wait_for的问题
https://twitter.com/tvaneerd/status/1512485378770493451
Educational C++ Videos
根据类别列举了C++ Youtube视频,很不错
https://hackingcpp.com/cpp/educational_videos.html
What's all the buzz about std::hive?
https://twitter.com/vzverovich/status/1513633338216513539
Speeding up Pattern Searches with Boyer-Moore Algorithm from C++17
https://www.cppstories.com/2018/08/searchers/
评论中似乎有更好的做法
https://twitter.com/fenbf/status/1513890696364765190
Declarative GPU Pipelines in C++20
https://celtera.github.io/avendish/gpu/draw.html
For beginners, a crash course introduction to programming for several CPU cores
Crash course introduction to parallelism: Multithreading
https://johnysswlab.com/crash-course-introduction-to-parallelism-multithreading/
The Coding Interview 外国面试问的问题
https://marcofoco.com/the-coding-interview/
non-type, type, template, var template, concept, universal?
https://twitter.com/seanbax/status/1513207889443409924
C++ Weekly - Ep 319 - A JSON To C++ Converter
https://www.youtube.com/watch?v=HROQPE59q_w
Adventures with string_view: Making string_view Play Well with ATL/MFC CString
https://blogs.msmvps.com/gdicanio/2022/03/30/adventures-with-string_view-making-string_view-play-well-with-atl-mfc-cstring/
Using iostreams has never been easier
https://twitter.com/vzverovich/status/1513206598679732228
2022 is the year of Hello world actually working on Windows (sometimes)
https://twitter.com/vzverovich/status/1513201796688146432
库fccf: A command-line tool that quickly searches through C/C++ source code in a directory based on a search string and prints relevant code snippets that match the query.
https://github.com/p-ranav/fccf
C++ library for composing modular firmware at compile-time.
https://github.com/intel/compile-time-init-build
BOOST Unit test
https://godbolt.org/z/sxYE3dGx6
Typed Dataframe C++
https://github.com/ewan15/TTable
New C++ features in GCC 12
https://developers.redhat.com/articles/2022/04/25/new-c-features-gcc-12#
补充:https://gcc.gnu.org/pipermail/gcc/2022-May/238653.html tm:2022-05-09
td: 加入选题列表
MSVC C++20/23 Update
https://www.youtube.com/watch?v=DAl37n2XOwk
td: 加入选题
C++ Twitter, is there a way in the standard library to get the parameter types of a function?
https://twitter.com/arne_mertz/status/1519166124495155201
New revision of P2300 std::execution just dropped.
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2300r5.html
Cute C++ trick of the day: Want to compare types with a more familiar syntax (like in Python, for instance)? A simple wrapper template can make this happen! You can even use function call syntax if you don't need constexpr: https://cute.godbolt.org/z/cb3dTfrdP
[http://wg21.link/P1061] 'Structured Bindings can introduce a Pack' as a simpler in-place unrolling?
https://godbolt.org/z/4vEGWaxKc
/////////////////////////////////////////////////////////////////////
```cpp
// My favourite C++20 "conc debugger by printing" :
#include <iostream>
#include <syncstream>
auto coutSync() {
return std::osyncstream{std::cout};
}
For:
void foo(std::string s) {
coutSync() << "foo(" << s << ") in thread " << std::this_thread::get_id() << "\n";
...
}
td: 加入选题
```
/////////////////////////////////////////////////////////////////////
What’s new for C++ Debugging in Visual Studio Code
https://devblogs.microsoft.com/cppblog/whats-new-for-c-debugging-in-visual-studio-code/?WT.mc_id=academic-0000-abartolo
td: 加入选题
lexy: C++ parsing DSL Library first(beta) release:
https://lexy.foonathan.net/
std::uint8_t vs std::byte
https://stackoverflow.com/questions/39145753/stdcout-deal-with-uint8-t-as-a-character
free online book: Software Engineering at Google
https://abseil.io/resources/swe-book
----
## 第11期 220521
**Articles & Papers**
1. [Fast bitset decoding using Intel AVX-512](https://lemire.me/blog/2022/05/06/fast-bitset-decoding-using-intel-avx-512/)
2. [On awaiting a task with a timeout in C++/WinRT](https://devblogs.microsoft.com/oldnewthing/20220506-00/?p=106602)
3. [Derivatives in compute shader](https://wickedengine.net/2022/05/08/derivatives-in-compute-shader/)
4. [Mysterious Memset](https://vector-of-bool.github.io/2022/05/11/char8-memset.html)
5. [Sort an Array in Descending Order in C++](https://thispointer.com/sort-an-array-in-descending-order-in-c/)
6. [Speeding up Pattern Searches with Boyer-Moore Algorithm from C++17](https://www.cppstories.com/2018/08/searchers/)
7. [6 Ways to Refactor new/delete into unique ptr](https://www.cppstories.com/2021/refactor-into-uniqueptr/)
8. [C++20 coroutines explained simply](https://nmilo.ca/blog/coroutines.html)
9. [Structured Bindings with Qt SQL](https://www.kdab.com/structured-bindings-with-qt-sql/)
10. [Visualizing Performance-Critical Dependency Chains.](https://easyperf.net/blog/2022/05/11/Visualizing-Performance-Critical-Dependency-Chains)
11. [C++20 Coroutines back to basics — Restrictions and rules for legal coroutines](https://ggulgulia.medium.com/c-20-coroutines-back-to-basics-336897a85a4b)
12. [Adventures with string_view: Optimizing Code with O(1) Operations](https://blogs.msmvps.com/gdicanio/2022/04/15/adventures-with-string_view-optimizing-code-with-o1-operations/)
13. [C++20 Ranges Algorithms - 11 Modifying Operations](https://www.cppstories.com/2022/ranges-alg-part-two/)
14. [How to Store an lvalue or an rvalue in the Same Object](https://www.fluentcpp.com/2022/05/16/how-to-store-an-lvalue-or-an-rvalue-in-the-same-object/)
15. [How can I synthesize a C++20 three-way comparison from two-way comparisons?](https://devblogs.microsoft.com/oldnewthing/20220516-52/?p=106661)
16. [C++ Templates – A detailed overview](https://thecppdev.com/2022/05/16/templates-in-c-a-detailed-overview/?amp=1)
**Videos**
1. [Lightning Talk: Love Code Reviews? Try Pair Programming Instead - Ankur Satle - CppCon 2021](https://www.youtube.com/watch?v=udUwDk5YW7Q)
2. [C++ Weekly - Ep 323 - C++23's auto{} and auto()](https://www.youtube.com/watch?v=5zVQ50LEnuQ)
3. [Visitor Pattern and Multiple-Dispatch Explained (in C++)](https://www.youtube.com/watch?v=IodTf-Yw4yc)
4. [Design Patterns - Facts and Misconceptions](https://www.youtube.com/watch?v=u5EAJTHPJN8)
5. [Writing a Network Client with POCO](https://www.youtube.com/watch?v=rRR9RTUEn4k)
6. [C++ Weekly - Ep 324 - C++20's Feature Test Macros](https://www.youtube.com/watch?v=4Bf8TmbibXw)
7. [C++ Insights - Episode 26: if and switch with initialization](https://www.youtube.com/watch?v=0rafC-8qZT0)
C++2X?[Loop unrolling]
https://twitter.com/krisjusiak/status/1522945946019000321
[C++ advanced topics for experienced C++ devs](https://www.incredibuild.com/blog/cpp-advanced-topics-for-experienced-cpp-devs)
17 Smaller but Handy C++17 Features
https://www.cppstories.com/2019/08/17smallercpp17features/
tm: 2022-05-17
[The 3 software tools that C++ developers should know](https://thecppdev.com/2022/05/14/the-3-software-tools-that-c-developers-should-know/)
[MSVC’s STL Completes /std:c++20](https://devblogs.microsoft.com/cppblog/msvcs-stl-completes-stdc20/)
----
<<<<<<< HEAD
## 第12期 220529
=======
## 第12期 2205XX
>>>>>>> a2ecf80031604db0ca4919a71f22aa1559915ad9
**Articles & Papers**
1. #### [STRUCTURED CONCURRENCY IN C++](https://www.accu.org/journals/overload/30/168/teodorescu/)
2. [Parsing JSON faster with Intel AVX-512](https://lemire.me/blog/2022/05/25/parsing-json-faster-with-intel-avx-512/)
3. [Assignment for `optional<T>`](https://brevzin.github.io/c++/2022/05/24/optional-assignment/)
4. [Branch/cmove and compiler optimizations](https://kristerw.github.io/2022/05/24/branchless/)
5. [C++23: Literal suffix for (signed) size_t](https://www.sandordargo.com/blog/2022/05/25/literal_suffix_for_signed_size_t)
6. [Testing 3 Approaches for Optimizing the Performance of C++ Apps: LTO, PGO, and Unity Builds](https://blog.jetbrains.com/clion/2022/05/testing-3-approaches-performance-cpp_apps/)
7. [Compiling QML to C++: Making types visible](https://www.qt.io/blog/compiling-qml-to-c-making-types-visible)
8. [P0792r9 `function_ref`: a type-erased callable reference](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p0792r9.html)
9. [2022-05 Mailing Available](https://isocpp.org/blog/2022/05/2022-05-mailing-available)
10. [Compiler Explorer的十年历史](https://xania.org/202206/happy-birthday-ce)
**Videos**
1. [C++ Weekly - Ep 325 - Why vector of bool is Weird](https://www.youtube.com/watch?v=OP9IDIeicZE)
2. [C++20 Concepts - WE HAVE TO RETHINK WHAT WE DID IN THE PAST](https://www.youtube.com/watch?v=XOMv4VilN50)
tm: 2022-05-22
[GitHub is adding some fancy blockquotes to markdown previews -documents, issues, PRs, discussions, etc.](https://github.com/github/feedback/discussions/16925)
书合辑
Hacking: https://zh.usa1lib.org/booklist/278228/f76fc1
IT-Security: https://zh.usa1lib.org/booklist/74565/2e84e2
Cybersecurity: https://zh.usa1lib.org/booklist/277393/a8a3e0
tm: 2022-05-28
库
<<<<<<< HEAD
small vector https://github.com/martinus/svector
---
## 第13期 220607
**Articles & Papers**
1. [Automated instance construction in C++](https://schneide.blog/2022/06/02/automated-instance-construction-in-c/)
2. [The Ranges Library in C++20: More Details](http://www.modernescpp.com/index.php/the-ranges-library-in-c-20-a-deep-dive)
3. [Projections with Ranges](https://www.modernescpp.com/index.php/projections-with-ranges)
4. [C++23: Consteval if to make compile time programming easier](https://www.sandordargo.com/blog/2022/06/01/cpp23-if-consteval)
5. [Technique: Recursive variants and boxes](https://www.foonathan.net/2022/05/recursive-variant-box/)
6. [Retrofitting Temporal Memory Safety on C++](https://security.googleblog.com/2022/05/retrofitting-temporal-memory-safety-on-c.html "Retrofitting Temporal Memory Safety on C++")
7. [Design Patterns VS Design Principles: Factory method](https://www.fluentcpp.com/2022/06/05/design-patterns-vs-design-principles-factory-method/)
8. [C++20’s parenthesized aggregate initialization has some downsides](https://quuxplusone.github.io/blog/2022/06/03/aggregate-parens-init-considered-kinda-bad/)
9. [Vectorized and performance-portable Quicksort](https://opensource.googleblog.com/2022/06/Vectorized%20and%20performance%20portable%20Quicksort.html)
10. [Destructors and noexcept](https://andreasfertig.blog/2022/06/destructors-and-noexcept/)
11. [Data structure size and cache-line accesses](https://lemire.me/blog/2022/06/06/data-structure-size-and-cache-line-accesses/)
**Videos**
1. [Episode 80: C++ Multidimensional Arrays and GPUs](https://adspthepodcast.com/2022/06/03/Episode-80.html)
2. [C++ Weekly - Ep 326 - C++23's Deducing `this`](https://www.youtube.com/watch?v=5EGw4_NKZlY)
3. [Patrice Roy - Slowing Down to be Faster - C++ and Divisible Algorithms in Real-Time Systems](https://www.youtube.com/watch?v=wqCdlpj68N4)
4. [C++ Weekly - Ep 327 - C++23's Multidimensional Subscript Operator Support](https://www.youtube.com/watch?v=g4aNGgLzVqw)
扩展
- [C++23 Standard Library Preview - Jeff Garland - CppCon 2021](https://www.youtube.com/watch?v=ySsqD2e5uRQ&list=WL&index=5)
## 第14期 220616
**Articles & Papers**
1. [Use compiler flags for stack protection in GCC and Clang](https://developers.redhat.com/articles/2022/06/02/use-compiler-flags-stack-protection-gcc-and-clang#)
2. [Modern C++ In-Depth — Perfect Forwarding](https://medium.com/factset/modern-c-in-depth-perfect-forwarding-570f242261f8)
3. [Formal-Methods-Based Bugfinding for LLVM’s AArch64 Backend](https://blog.regehr.org/archives/2265)
4. [Smart pointers and their deleters](https://www.sandordargo.com/blog/2022/06/08/smart-pointers-and-deleters)
5. [MSVC Backend Updates in Visual Studio 2022 version 17.2](https://devblogs.microsoft.com/cppblog/msvc-backend-updates-in-visual-studio-2022-version-17-2/)
6. [C++20 Ranges Algorithms - sorting, sets, other and C++23 updates](https://www.cppstories.com/2022/ranges-alg-part-three/)
7. [Improved Iterators with Ranges](https://www.modernescpp.com/index.php/improved-iterators-with-ranges)
8. [Compiling QML to C++: Untangling dependencies](https://www.qt.io/blog/compiling-qml-to-c-untangling-dependencies)
9. [50 terrible coding tips for a C++ developer](https://pvs-studio.com/en/blog/posts/cpp/0953/)
10. [Implementing Parallel copy_if in C++](https://www.cppstories.com/2021/par-copyif/)
11. [C++20 BENEFITS: CONSISTENCY WITH RANGES](https://accu.org/journals/overload/30/167/fertig/)
12. [Use compiler flags for stack protection in GCC and Clang](https://developers.redhat.com/articles/2022/06/02/use-compiler-flags-stack-protection-gcc-and-clang)
**Videos**
1. [C++ Weekly - Ep 328 - Recursive Lambdas in C++23](https://www.youtube.com/watch?v=hwD06FNXndI)
2. [A gentle introduction to gRPC in C++ (Marco Arena)](https://www.youtube.com/watch?v=uZUJOsR8pYM)
3. [C++ Insights - Episode 27: In-class member initialization](https://www.youtube.com/watch?v=50meLVrBY8k)
4. [Comparing ARM vs RISC-V vs x86_64 with GCC vs Clang](https://www.youtube.com/watch?v=NE_v4R1dPMA)
- [How to Use The Newest C++ String Conversion Routines - std::from_chars](https://www.cppstories.com/2018/12/fromchars/)
- [C++ 23 Status Report](https://github.com/steve-downey/papers/blob/master/wg21-status.org)
- 来源:https://twitter.com/sdowney/status/1536486985774374913
- td: 做视频
- [虚函数](https://twitter.com/TartanLlama/status/1536756321613225985)
- range-v3作者的blog: http://ericniebler.com/
- [Structured Concurrency](https://ericniebler.com/2020/11/08/structured-concurrency/)
- [CPPNow 2022](https://pages.jetbrains.com/cppnow2022)
- [Why do we require requires requires?](https://stackoverflow.com/questions/54200988/why-do-we-require-requires-requires)
- [What’s New in CMake for VS Code](https://devblogs.microsoft.com/cppblog/whats-new-in-cmake-for-vs-code/)
## 第15期 220627
**Articles & Papers**
1. [C++23: Narrowing contextual conversions to bool](https://www.sandordargo.com/blog/2022/06/15/cpp23-narrowing-contextual-conversions-to-bool)
2. [Advancing the state of the art for `std::unordered_map` implementations](https://bannalia.blogspot.com/2022/06/advancing-state-of-art-for.html)
3. [Retrofitting Temporal Memory Safety on C++](https://v8.dev/blog/retrofitting-temporal-memory-safety-on-c++)
4. [C++ Smart Pointers Gotchas](https://www.cppstories.com/2013/02/smart-pointers-gotchas/)
5. [Instruction-level parallelism in practice: speeding up memory-bound programs with low ILP](https://johnysswlab.com/instruction-level-parallelism-in-practice-speeding-up-memory-bound-programs-with-low-ilp/)
6. [C xor C++ Programming](https://docs.google.com/document/d/16B36r0HksR0LqQAGLA1syYCtZvYaVC0hEF2D00ZAd0o/mobilebasic)
7. [Fun with Paths and URLs in QML](https://www.kdab.com/fun-with-paths-urls-in-qml/)
8. [How To Use std::visit With Multiple Variants and Parameters](https://www.cppstories.com/2018/09/visit-variants/)
9. [12 Different Ways to Filter Containers in Modern C++](https://www.cppstories.com/2021/filter-cpp-containers/)
**Videos**
1. [C++ Weekly - Ep 329 - How LTO Easily Makes Your Program Faster](https://www.youtube.com/watch?v=9nzT1AFprYM)
2. [How to Use C++20 Coroutines for Networking - Jim Pascoe - ACCU 2022](https://www.youtube.com/watch?v=ZNttI_WswMU)
3. [Rust Features that I Want in C++ - David Sankel - CppNow 2022](https://www.youtube.com/watch?v=cWSh4ZxAr7E)
[What is a `view`?](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2415r2.html)
[值传递与引用传递的性能分析](https://twitter.com/TartanLlama/status/1539307295632691200)
[图形学系列](https://www.jendrikillner.com/post/graphics-programming-weekly-issue-240/)
[Ranges Improvements with C++23](http://www.modernescpp.com/index.php/ranges-improvements-with-c-23)
=======
small vector https://github.com/martinus/svector
----
## 第16期 220708
**Articles & Papers**
1. [C++23’s Deducing this: what it is, why it is, how to use it](https://devblogs.microsoft.com/cppblog/cpp23-deducing-this/)
2. [The Nth Element: A Case Study - Kris Jusiak - CppNow 2022](https://www.youtube.com/watch?v=LfOh0DwTP00)
3. [Undefined behavior in C is a reading error.](https://www.yodaiken.com/2021/05/19/undefined-behavior-in-c-is-a-reading-error/)
4. [The power of ref-qualifiers](https://andreasfertig.blog/2022/07/the-power-of-ref-qualifiers/)
5. [150. Concepts, UB, interview questions, Boost](https://cppclub.uk/meetings/2022/150/)
6. [Sanitizers in continuous integration](https://ngathanasiou.wordpress.com/2022/07/04/sanitizers-in-continuous-integration/)
7. [Pass-by-value vs Pass-by-reference](https://reductor.dev/cpp/2022/06/27/pass-by-value-vs-pass-by-reference.html)
8. [How can I write a coroutine that produces a result but keeps on running?](https://devblogs.microsoft.com/oldnewthing/20220707-00/?p=106843)
9. [Schneide Blog - Improved automated instance construction in C++](https://schneide.blog/2022/07/07/improved-automated-instance-construction-in-c/)
10. [Modernes C++ - The Advantages of Patterns](http://www.modernescpp.com/index.php/an-introduction-into-design-patterns)
**Videos**
1. [Searching for Convergence in C++ Package Management - Bret Brown & Daniel Ruoso - CppNow 2022](https://www.youtube.com/watch?v=VCrLAmJWZFQ)
2. [C++ Weekly - Ep 330 - Faster Builds with `extern template` (And How It Relates to LTO)](https://www.youtube.com/watch?v=pyiKhRmvMF4)
3. [Searching for Convergence in C++ Package Management - Bret Brown & Daniel Ruoso - CppNow 2022](https://www.youtube.com/watch?v=VCrLAmJWZFQ)
4. [C++ Weekly - Ep 331 - This Game Teaches C++!](https://www.youtube.com/watch?v=snQhhWE1xR4)
5. [C++20: The Small Pearls - Rainer Grimm - CppCon 2021](https://www.youtube.com/watch?v=xbkWH7A06X8&list=PLHTh1InhhwT6bY4nS4p7f5b_754myC3ze&index=40)
6. [Customization Methods: Connecting User And Library Code - Inbal Levi - CppNow 2022](https://www.youtube.com/watch?v=TpAPImt1vf0)
7. [Powerful Data Processing Pipelines with C++20 Coroutines - Andreas Weis - ACCU 2022](https://www.youtube.com/watch?v=KhGmOI478so)
8. [Keynote: A Future of Value Semantics and Generic Programming Part 2 - Dave Abrahams - CppNow 2022](https://www.youtube.com/watch?v=GsxYnEAZoNI)
9. [Documentation in the Era of Concepts and Ranges - Christopher Di Bella & Sy Brand - ACCU 2022](https://www.youtube.com/watch?v=IRqOHsNEKNE)
10. [C++Now YT - Top 5 Library Additions in C++23 - Jeff Garland - CppNow 2022](https://www.youtube.com/watch?v=ZSbLute3IUU)
[17 Smaller but Handy C++17 Features](https://www.cppstories.com/2019/08/17smallercpp17features/)
讨论:
- [Exceptions: Yes or No?](https://www.reddit.com/r/cpp/comments/vr771l/exceptions_yes_or_no/)
- [Error Handling, a modest proposal](https://www.reddit.com/r/cpp/comments/vshv8j/reconciled_error_handling_a_modest_proposal/)
- [What are your favorite Visual Studio (MSVC) extensions?](https://www.reddit.com/r/cpp/comments/vq444p/what_are_your_favorite_visual_studio_msvc/)
## 第17期 220722
**Articles & Papers**
1. [Calculating SVD and PCA in C++](https://blog.demofox.org/2022/07/12/calculating-svd-and-pca-in-c/)
2. [(Non) Static Data Members Initialization, from C++11 till C++20](https://www.cppstories.com/2015/02/non-static-data-members-initialization/)
3. [Debugging C++ Coroutines](https://clang.llvm.org/docs/DebuggingCoroutines.html)
4. [VS2022 Performance Enhancements: Faster C++ Development](https://devblogs.microsoft.com/cppblog/vs2022-performance-enhancements-faster-c-development/)
5. [An example where `inline constexpr` makes a difference](https://quuxplusone.github.io/blog/2022/07/08/inline-constexpr/)
6. [How can I write a coroutine that produces a result but keeps on running?](https://devblogs.microsoft.com/oldnewthing/20220707-00/?p=106843)
7. [New std::optional Checks in Visual Studio 2022 version 17.3 Preview 3](https://devblogs.microsoft.com/cppblog/new-stdoptional-checks-in-visual-studio-2022-version-17-3-preview-3/)
8. [Upside Down Polymorphic Inheritance](https://blog.nickelp.ro/posts/p2162/)
9. [Five tricky topics for data members in C++20](https://www.cppstories.com/2022/five-topics-data-members-cpp20/)
10.
**Videos**
1. [Sandbox Games - Using WebAssembly and C++ to Make a Simple Game - Ólafur Waage - ACCU 2022](https://www.youtube.com/watch?v=N248809vu5g)
2. [The Basics of Profiling - Mathieu Ropert - ACCU 2022](https://www.youtube.com/watch?v=vqeXRFW26kg)
3. [Is Virtual of Value](https://www.youtube.com/watch?v=ZXx7C1D6CNo)
4. [Principia Mathematica: The Foundations of Arithmetic in C++ - Lisa Lippincott - CppNow 2022](https://www.youtube.com/watch?v=2OpcDKzrgtc)
5. [NVIDIA Special Address at Q2B: Defining the Quantum Accelerated Supercomputing Platform](https://www.youtube.com/watch?v=RzkssSPOG5Q)
6. [Many an `any` - Alisdair Meredith - ACCU 2022](https://www.youtube.com/watch?v=kb0dSbVbJ-s)
7. [A Practical Approach to Error Handling - Arno Schödl - CppNow 2022](https://www.youtube.com/watch?v=eKcmEalOBhs)
8. [Undefined Behavior in C++: A Performance Viewpoint - Fedor Pikus - CppNow 2022](https://www.youtube.com/watch?v=BbMybgmQBhU)
9. [Law of Demeter: A Practical Guide to Loose Coupling - Kris Jusiak - CppCon 2021](https://www.youtube.com/watch?v=QZkVpZlbM4U&list=PLHTh1InhhwT6bY4nS4p7f5b_754myC3ze&index=64)
10.
讨论:
- [Creating existential types automatically from concepts?](https://www.reddit.com/r/cpp/comments/vyf6yf/creating_existential_types_automatically_from/) cm: Concepts的高级用法
- [Another suggestion to solve the "exception - yes or no" debate!](https://www.reddit.com/r/cpp/comments/vupoto/another_suggestion_to_solve_the_exception_yes_or/)
- [std::generator and elements_of](https://www.reddit.com/r/cpp/comments/vteus9/stdgenerator_and_elements_of/)
- [RVO / NRVO Analysis](https://www.reddit.com/r/cpp/comments/vtdz9b/rvo_nrvo_analysis/)
- [Reconciled Error Handling -- A Modest Proposal](https://www.reddit.com/r/cpp/comments/vshv8j/reconciled_error_handling_a_modest_proposal/)
## 第18期 220801
**Articles**
1. [vcpkg July 2022 Release is Now Available: Shared Libraries on Linux, Improved vcpkg new, Optional name and version Fields, and More…](https://devblogs.microsoft.com/cppblog/vcpkg-july-2022-release-is-now-available-shared-libraries-on-linux-improved-vcpkg-new-optional-name-and-version-fields-and-more/)
2. [Custom types and std::format from C++20](https://www.cppstories.com/2022/custom-stdformat-cpp20/)
3. [Five tricky topics for data members in C++20](https://www.cppstories.com/2022/five-topics-data-members-cpp20/)
4. [C++20 concepts are structural: What, why, and how to change it?](https://www.foonathan.net/2021/07/concepts-structural-nominal/)
5. [Single-pass Parallel Prefix Scan with Decoupled Look-back](https://research.nvidia.com/sites/default/files/pubs/2016-03_Single-pass-Parallel-Prefix/nvr-2016-002.pdf)
6. [A view of 0 or 1 elements: views::maybe](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1255r8.pdf)
7. [Parallelising Huffman decoding and x86 disassembly by synchronising non-self-synchronising prefix codes](https://dougallj.wordpress.com/2022/07/30/parallelising-huffman-decoding-and-x86-disassembly-by-synchronising-non-self-synchronising-prefix-codes/)
8. [Comparing strtod with from_chars (GCC 12)](https://lemire.me/blog/2022/07/27/comparing-strtod-with-from_chars-gcc-12/)
9. [Round a direction vector to an 8-way compass](https://lemire.me/blog/2022/07/24/round-a-direction-vector-to-the-nearest-8-way-compass/)
10. [Carbon Reddit Thread](https://old.reddit.com/r/cpp/comments/w2t2zn/carbon_an_experimental_successor_to_c/)
11. [Carbon on Hacker News](https://news.ycombinator.com/item?id=32151609)
12. [Carbon’s most exciting feature is its calling convention](https://www.foonathan.net/2022/07/carbon-calling-convention/)
**Videos**
1. [Carbon Language: An experimental successor to C++ - Chandler Carruth - CppNorth 2022](https://www.youtube.com/watch?v=omrY53kbVoA)
2. [Episode 88: The Carbon Programming Language](https://adspthepodcast.com/2022/07/29/Episode-88.html)
3. [Thoughts on Google Carbon](https://www.youtube.com/watch?v=av9-W17Lh60)
4. [Carbon Lang… The C++ killer?](https://www.youtube.com/watch?v=-bHK0qmp06c)
5. [CMake 2022 C++ Modules and More - Bill Hoffman - CppNow 2022](https://www.youtube.com/watch?v=hkefPcWySzI)
6. [The Age of Web3 Startups - David Taylor’s full keynote speech at TNW](https://www.youtube.com/watch?v=bkYwscEaZFc)
7. [C++ Standard Parallelism - Bryce Adelstein Lelbach - CppNow 2022](https://www.youtube.com/watch?v=QSaUCzL7nCU)
8. [C++ Weekly - Ep 334 - How to Put a Lambda in a Container](https://www.youtube.com/watch?v=qmd_yxSOsAE)
9. [Searching for Convergence in C++ Package Management - Bret Brown & Daniel Ruoso - CppNow 2022](https://www.youtube.com/watch?v=VCrLAmJWZFQ)
- [How to Initialize a String Member](https://www.cppstories.com/2018/08/init-string-member/)
- [New new() - The C++17's Alignment Parameter for Operator new()](https://www.cppstories.com/2019/08/newnew-align/)
## 第19期 220808
**Articles**
1. [Simplify Code with if constexpr and Concepts in C++17/C++20](https://www.cppstories.com/2018/03/ifconstexpr/)
2. [Beware CTAD on `reverse_iterator`](https://quuxplusone.github.io/blog/2022/08/02/reverse-iterator-ctad/)
3. [Building std::variant from scratch part 1](https://github.com/very-cool-name/blog-from-scratch/blob/master/part_i.md)
4. [C++20 Concepts in C++03](https://meghprkh.github.io/blog/posts/c++03-concepts/)
5. [Introducing Cute: RPC the way it was always meant to be](https://blog.cuteserver.io/introducing-cute-rpc-the-way-it-was-always-meant-to-be)
6. [5 Curious C++ Lambda Examples: Recursion, constexpr, Containers and More](https://www.cppstories.com/2020/07/lambdas5ex.html/)
7. [C23 is Finished: Here is What is on the Menu](https://thephd.dev/c23-is-coming-here-is-what-is-on-the-menu)
**Videos**
1. [C++ Engine Code Generation and Auto Hot Reloading](https://www.youtube.com/watch?v=xC6WTFmvKCQ)
2. [C++20 ❤ SQL - John Bandela - CppCon 2021](https://www.youtube.com/watch?v=1AYrd9iLQCw)
3. [Exceptions the Other Way Round - Sean Parent - CppNow 2022](https://www.youtube.com/watch?v=mkkaAWNE-Ig)
4. [Circle Metaprogramming: Better Features Make Better Libraries - Sean Baxter - CppNow 2022](https://www.youtube.com/watch?v=15j4bkipuAg)
讨论:
[My experience with C++ 20 coroutines](https://www.reddit.com/r/cpp/comments/we1uch/my_experience_with_c_20_coroutines/)
## 第20期 220829
**Articles**
1. [Easy management of C++ libraries with vcpkg and CMake for Visual Studio 2022](https://nicobombace.com/c++/vcpkg/)
2. [Exploring Shaders with Compiler Explorer](https://www.jeremyong.com/shaders/gpus/assembly/2022/08/19/exploring-shaders-with-compiler-explorer/)
3. [About conditional breakpoints](https://www.meetingcpp.com/blog/items/About-conditional-breakpoints.html)
4. [Using the C++23 std::expected type](https://mariusbancila.ro/blog/2022/08/17/using-the-cpp23-expected-type/)
5. [proxy: Runtime Polymorphism Made Easier Than Ever](https://devblogs.microsoft.com/cppblog/proxy-runtime-polymorphism-made-easier-than-ever/)
6. [The simplest example of coroutines in C++20](https://dev.to/atimin/the-simplest-example-of-coroutines-in-c20-4l7a)
7. [C++20 Ranges — Complete Guide](https://itnext.io/c-20-ranges-complete-guide-4d26e3511db0)
8. [Rvalue Ranges and Views in C++20](https://tristanbrindle.com/posts/rvalue-ranges-and-views)
9. [Comparing Rust's and C++'s Concurrency Library](https://blog.m-ou.se/rust-cpp-concurrency/)
10. [The memory subsystem from the viewpoint of software: how memory subsystem affects software performance 1/3](https://johnysswlab.com/the-memory-subsystem-from-the-viewpoint-of-software-how-memory-subsystem-effects-software-performance-1-2/)
11. [Unclear handling for `using enum` with local enums in function templates](https://github.com/cplusplus/CWG/issues/113)
12. [bool - the simplest type?](https://meetingcpp.com/blog/items/bool---the-simplest-type-.html)
13. [C++ Coroutines: Understanding the Compiler Transform](https://lewissbaker.github.io/2022/08/27/understanding-the-compiler-transform)
14. [Implementing Qt Signals and Slots in Pure C++](https://embeddeduse.com/2022/08/28/implementing-qt-signals-and-slots-in-pure-c/)
15. [20+ Ways to Init a String, Looking for Sanity](https://www.cppstories.com/2022/init-string-options/)
**Videos**
1. [Universal/Forwarding References - A Key to More Modern C++ - Nicolai Josuttis - C++ on Sea 2022](https://www.youtube.com/watch?v=k1Iz5u_IBZ4)
2. [Value Oriented Programming. Part 1: You Say You Want To Write A Function - Tony Van Eerd CppNorth 22](https://www.youtube.com/watch?v=rpCc-cfYa3k)
3. [C++ Weekly - Ep 337 - C23 Features That Affect C++ Programmers](https://www.youtube.com/watch?v=jOFrKN54M5g)
4. [An Introduction to Multithreading in C++20 - Anthony Williams - C++ on Sea 2022](https://www.youtube.com/watch?v=8mt076AtqYg)
5. [C++ Standard Parallelism - Bryce Adelstein Lelbach - C++ on Sea 2022](https://www.youtube.com/watch?v=cCOABV97zfA)
6. [C++ Insights - Episode 29: Using constructors from a base class in a derived class](https://www.youtube.com/watch?v=aFkKR6Rd_ug)
7. [San Diego 41 C++ group meetup #41](https://www.youtube.com/watch?v=svRj3iw7CFo)
8. [The Power Of Compile-Time Resources - Jason Turner - CppNorth 2022](https://www.youtube.com/watch?v=3aRZZxpJ_fc)
9. [5 Approaches to Remote C++ Development With CLion](https://www.youtube.com/watch?v=7qMk79sIv5U)
10. [A Practical Guide to Loose Coupling - Kris Jusiak - C++ on Sea 2022](https://www.youtube.com/watch?v=w46l_gG4xQU)
11. [Björn Fahller: Typical C++, but why?](https://www.youtube.com/watch?v=mdj__i_q3qs)
补充:
[C++ Smart Pointers Reference Card](https://www.cppstories.com/2021/smart-ptr-ref-card/)
[C++ Weekly - Ep 147 - C++ And Python Tooling](https://www.youtube.com/watch?v=ZsKdRtQM7EA)
LIVE++ 2.0 https://twitter.com/liveplusplus/status/1559470331978457089
---
## 第21期 220918
**Articles**
1. [inline – not what it used to be](https://vorbrodt.blog/2022/08/31/inline-not-what-it-used-to-be/)
2. [malloc() and free() are a bad API](https://www.foonathan.net/2022/08/malloc-interface/#content)
3. [Custom types and std::format from C++20](https://www.cppstories.com/2022/custom-stdformat-cpp20/)
4. [Microbenchmarking Is Tricky](https://lucisqr.substack.com/p/microbenchmarking-is-tricky)
5. [Comprehensive C++ Hashmap Benchmarks 2022](https://martin.ankerl.com/2022/08/27/hashmap-bench-01/)
6. [C++23: Preprocessing directives](https://www.sandordargo.com/blog/2022/09/07/prepocessive-directive-changes-in-cpp23)
7. [A moved from optional](https://akrzemi1.wordpress.com/2022/09/06/a-moved-from-optional/)
8. [Using std::unique_ptr With C APIs](https://eklitzke.org/use-unique-ptr-with-c-apis)
9. [Integer Conversions and Safe Comparisons in C++20](https://www.cppstories.com/2022/safe-int-cmp-cpp20/)
10. [Stop Measuring Time!](https://lucisqr.substack.com/p/stop-measuring-time)
11. [The Little Things: My ?radical? opinions about unit tests](https://codingnest.com/the-little-things-my-radical-opinions-about-unit-tests/)
**Videos**
1. [Charts in Qt - Jens Weller - Meeting C++ online lightning talks](https://www.youtube.com/watch?v=oUrNOUt2BK0)
2. [Forward Progress in C++ - Olivier Giroux - CppNorth 2022](https://www.youtube.com/watch?v=CuWM-OrPitw)
3. [Corolib Distributed Programming with C++ coroutines - Johan Vanslembrouck - Meeting C++ online](https://www.youtube.com/watch?v=oPlBD9qSLo4)
4. [Lets Talk: Extend and Embed Python With C++ - Rainer Grimm - CppNorth 2022](https://www.youtube.com/watch?v=3Km19_JgQcc)
5. [Single entry, single exit - Miroslaw Opoka - Meeting C++ online lightning talks](https://www.youtube.com/watch?v=jNOmTkYj6fo)
6. [C++23's new function syntax? - Meeting C++ weekly blogroll highlight](https://www.youtube.com/watch?v=Ew5YfSl0Ycg)
7. [Make error handling the users problem - Søren Nissen - Meeting C++ online lightning talks](https://www.youtube.com/watch?v=ZMVnDPfFwYA)
8. [75 STL headers in under 10 minutes - Kilian Henneberger - Meeting C++ online lightning talks](https://www.youtube.com/watch?v=wjvzrcOTvIM)
9. [Keynote: The Tragedy of C++, Acts One & Two - Sean Parent - CppNorth 2022](https://www.youtube.com/watch?v=kZCPURMH744)
10. [Mathieu Ropert: Breaking Enigma With the Power of Modern C++](https://www.youtube.com/watch?v=uD9dqZBi-l4)
- [Writing a C interpreter - Part 1](https://www.youtube.com/watch?v=sCDsMc61iWM)
- https://github.com/foonathan/clauf
---
## 第22期 220926
**Articles**
1. [C++23 - std::expected, the superior way of returning a value or an error](https://andreasfertig.blog/2022/09/cpp23-stdexpected-the-superior-way-of-returning-a-value-or-an-error/)
2. [The Future of C++ Compiler Diagnostics in MSVC and Visual Studio](https://devblogs.microsoft.com/cppblog/the-future-of-c-compiler-diagnostics-in-msvc-and-visual-studio/)
3. [Type safe - Zero overhead utilities for more type safety](https://www.foonathan.net/2016/10/type-safe/)
4. [C++ Weekly - Ep 342 - C++20's Ranges: A Quick Start](https://www.youtube.com/watch?v=sZy9XcGHmI4)
5. [Reducing Signed and Unsigned Mismatches with std::ssize()](https://www.cppstories.com/2022/ssize-cpp20/)
6. [The Singleton](https://www.modernescpp.com/index.php/creational-patterns-singleton)
7. [Lazy Initialisation in C++](https://www.cppstories.com/2019/10/lazyinit/)
8. [C++ initialization, arrays and lambdas oh my!](https://shafik.github.io/c++/2022/09/20/init-lambdas-array-ohmy.html)
9. [Optimizing compilers deduplicate strings and arrays](https://lemire.me/blog/2022/09/23/optimizing-compilers-deduplicate-strings-and-arrays/)
10. [Something I implemented today: “is void”](https://herbsutter.com/2022/09/25/something-i-implemented-today-is-void/)
11. [the sad state of debug performance in c++](https://vittorioromeo.info/index/blog/debug_performance_cpp.html)
12. [5 Ways to Improve or Avoid Loops in C++20...23](https://www.cppstories.com/2022/improve-loops-cpp2b/)
13. [C++20, How Hard Could It Be](https://docs.google.com/presentation/d/1HwLNSyHxy203eptO9cbTmr7CH23sBGtTrfOmJf9n0ug/edit?resourcekey=0-GH5F3wdP7D4dmxvLdBaMvw#slide=id.g12a6e17768a_0_72)
14. [Copy-on-write with Deducing `this`](https://brevzin.github.io/c++/2022/09/23/copy-on-write/)
**Videos**
1. [C++ Weekly - Ep 341 - std format vs lib {fmt}](https://www.youtube.com/watch?v=zc6B-j0S9Iw)
2. [Lightning Talk: A std::fs::path From Bug to Patch - Dean Moldovan - CppNorth 2022](https://www.youtube.com/watch?v=-7ebQqzGRKE)
3. [Can C++ be 10x Simpler & Safer? - Herb Sutter - CppCon 2022](https://www.youtube.com/watch?v=ELeZAKCN4tY)
1. [My CppCon 2022 talk is online: “Can C++ be 10x simpler & safer … ?”](https://herbsutter.com/2022/09/19/my-cppcon-2022-talk-is-online-can-c-be-10x-simpler-safer/)
2. https://github.com/hsutter/cppfront
3. https://github.com/SerenityOS/jakt
4. [QtDevCon22 – Low-code Qt apps with Design Studio and SCXML](https://www.youtube.com/watch?v=NP1w_hvT4_I)
5. [C++ Weekly - Ep 338 - Analyzing and Improving Build Times](https://www.youtube.com/watch?v=Iybb9wnpF00)
6. [Cerealization and RPC with Cap'n Proto](https://www.youtube.com/watch?v=6V_lVZzV6AE)
7. [Contractual Disappointment in C++ - John McFarlane - C++ on Sea 2022](https://www.youtube.com/watch?v=r0KI2GMtS1U)
8. [Episode 96: The K Programming Language](https://adspthepodcast.com/2022/09/23/Episode-96.html)
扩展:
- [Why can't decomposition declarations be constexpr?](https://stackoverflow.com/questions/41622896/why-cant-decomposition-declarations-be-constexpr)
- [Enhancing Visual Studio with Visual Assist](https://www.cppstories.com/2017/05/enhancing-visual-studio-with-visual/)
- https://twitter.com/SimonToth83/status/1574081348163305473
---
## 第23期 221002
**Articles**
1. [What does the C++ error “A pointer to a bound function may only be used to call the function” mean?](https://devblogs.microsoft.com/oldnewthing/20220926-00/?p=107212)
2. [6 Efficient Things You Can Do to Refactor a C++ Project](https://www.cppstories.com/2020/08/6things-refactor.html/)
3. [How to Add Notes and Navigation Metadata Directly in Source Code in Visual Studio](https://www.cppstories.com/2020/04/vahashtags.html/)
4. [Getting up to speed with the latest Conan features](https://blog.conan.io/2022/09/28/upgrading-recipes-to-1.51.html)
5. [Text formatting in C++ using libc++](https://blog.llvm.org/posts/2022-08-14-libc++-format/)
6. [Guest post - An Extraterrestrial Guide to C++20 Text Formatting](http://ib-krajewski.blogspot.com/2022/09/guest-post-extraterrestrial-guide-to.html)
7. [A Brief Introduction To Clang-Tidy And Its Role in Visual Assist](https://blog.wholetomato.com/2021/01/08/a-brief-introduction-to-clang-tidy-and-its-role-in-visual-assist/)
8. [Using system package manager dependencies with vcpkg](https://devblogs.microsoft.com/cppblog/using-system-package-manager-dependencies-with-vcpkg/)
9. [New integer types I’d like to see](https://www.foonathan.net/2022/09/new-integer-types/)
10. [C++ initialization, arrays and lambdas oh my!](https://shafik.github.io/c++/2022/09/20/init-lambdas-array-ohmy.html)
11. [Static, Dynamic Polymorphism, CRTP and C++20’s Concepts](https://www.codingwiththomas.com/blog/c-static-dynamic-polymorphism-crtp-and-c20s-concepts)
**Videos**
1. [C++ Weekly - Ep 343 - Digging Into Type Erasure](https://www.youtube.com/watch?v=iMzEUdacznQ)
2. [LightningTalk: lexy - C++ Parsing DSL Library - Jonathan Müller - C++ on Sea 2022](https://www.youtube.com/watch?v=d1gUfL7A1MA)
3. [Lightning Talk: An Object Model for Safety and Efficiency by Definition - Dave Abrahams CppNorth 22](https://www.youtube.com/watch?v=KGL02mSaplE)
4. [Episode 97: C++ vs Carbon vs Circle vs CppFront with Sean Baxter](https://adspthepodcast.com/2022/09/30/Episode-97.html)
补充:
- [I don't know of any other languages that allow this](https://www.reddit.com/r/ProgrammerHumor/comments/xpuq43/i_dont_know_of_any_other_languages_that_allow_this/)
- cm: arr[i], \*(arr+i), i[arr]
- [find first function with a compatible signature among a list of invocables.](https://twitter.com/supahvee1234/status/1575551984953720832)
- [C++20 Metaprogramming](https://github.com/boost-ext/mp)
---
## 第24期 221005
**Articles**
1. [What happens when you press a key in your terminal?](https://jvns.ca/blog/2022/07/20/pseudoterminals/)
2. [Pages that didn't make it into "How DNS Works"](https://jvns.ca/blog/2022/05/10/pages-that-didn-t-make-it-into--how-dns-works-/)
3. [How Wine works 101](https://werat.dev/blog/how-wine-works-101/)
4. [Qt Creator 9 Beta released](https://www.qt.io/blog/qt-creator-9-beta-released)
5. [Ruslan Fomkin: Cassandra, accessing it and Astra DB from C++](https://www.youtube.com/watch?v=i1BWrs99qoY)
6. [The number of comparisons needed to sort a shuffled array: qsort versus std::sort](https://lemire.me/blog/2022/10/11/the-number-of-comparisons-needed-to-sort-a-shuffled-array-qsort-versus-stdsort/)
7. [All Major C++17 Features You Should Know](https://www.cppstories.com/2017/01/cpp17features/)
8. [The Wonderfully Terrible World of C and C++ Encoding APIs (with Some Rust)](https://thephd.dev/the-c-c++-rust-string-text-encoding-api-landscape)
9. [The case of the memory corruption from a coroutine that already finished](https://devblogs.microsoft.com/oldnewthing/20221014-00/?p=107287)
10. [Mastering String Transformations in RAPIDS libcudf](https://developer.nvidia.com/blog/mastering-string-transformations-in-rapids-libcudf/)
11. [The Bridge Pattern](http://www.modernescpp.com/index.php/the-bridge-pattern)
12. [The Adapter Pattern](http://www.modernescpp.com/index.php/the-adapter-pattern)
13. [Porting Slate to Qt for WebAssembly](https://www.qt.io/blog/porting-slate-to-qt-for-webassembly)
14. [Weekend update: Operator and parsing design notes,Sutter](https://herbsutter.com/2022/10/10/weekend-update-operator-and-parsing-design-notes/)
15. [Prefer core-language features over library facilities](https://quuxplusone.github.io/blog/2022/10/16/prefer-core-over-library/)
1. 补充:https://www.reddit.com/r/cpp/comments/y634ms/prefer_corelanguage_features_over_library/
16. [Why is there a `make_unique`? Why not just overload the `unique_ptr` constructor?](https://devblogs.microsoft.com/oldnewthing/20221019-00/?p=107300)
**Videos**
1. [LT: Improve Compile Time With One Weird Trick Template Meta Programmers Hate! - Luke Valenty CppNow](https://www.youtube.com/watch?v=qMUhJdhL2Uk)
2. [C++ Weekly - Ep 344 - decltype(auto): An Overview of How, Why and Where](https://www.youtube.com/watch?v=E5L66fkNlpE)
3. [C++ Weekly - Ep 345 - No Networking in C++20 or C++23! Now What?](https://www.youtube.com/watch?v=v6m70HyI0XE)
4. [C++ Weekly - Ep 346 - C++23's bind_back](https://www.youtube.com/watch?v=pDiP2frdMnI)
5. [Compile-time Initialization & Build Library for Composing Modular Firmware - Luke Valenty CppNow 22](https://www.youtube.com/watch?v=3DUJ7Dow1vk)
6. [How to make a 3D Level | C++ 3D Game Tutorial Series #35](https://www.youtube.com/watch?v=zfiSe6aH7n4)
7. [The Past, Present and Future of C++ Bjarne Stroustrup](https://alphalist.com/podcast/61-bjarne-stroustrup-creator-of-c-plus-plus)
8. [C++ in Constrained Environments - Bjarne Stroustrup - CppCon 2022](https://www.youtube.com/watch?v=2BuJjaGuInI)
9. [All major C++17 features you should know - Meeting C++ weekly blogroll highlight](https://www.youtube.com/watch?v=uffYzFixfLs)
10. [C++20’s Coroutines for Beginners - Andreas Fertig - CppCon 2022](https://www.youtube.com/watch?v=8sEe-4tig_A)
11. [Principia Mathematica - The Foundations of Arithmetic in C++ - Lisa Lippincott - CppCon 2022](https://www.youtube.com/watch?v=0TDBna3PWgY)
12. [Comparison Operators: Breaking Change in C++20](https://www.youtube.com/watch?v=flrQdAdCvVs)
补充:
[Lvalues, Increment, Pointers - Writing a C interpreter - Part 12](https://www.youtube.com/watch?v=c-AzMz_cTxo)
---
## 第25期 221102
**Articles**
1. [Is it true that raising a structured exception from a structured exception handler terminates the process?](https://devblogs.microsoft.com/oldnewthing/20221020-00/?p=107303)
2. [What happens if my C++ exception handler itself raises an exception?](https://devblogs.microsoft.com/oldnewthing/20221021-00/?p=107307)
3. [When life gives you lemons, write better error messages](https://scribe.rip/when-life-gives-you-lemons-write-better-error-messages-46c5223e1a2f)
4. [Interfaces and impls for C++ and dynamic type erasure](https://gist.github.com/seanbaxter/1d64c031a0072e11ff8c9966fdd972fd)
1. [Louis Dionne “Runtime Polymorphism: Back to the Basics”](https://www.youtube.com/watch?v=OtU51Ytfe04)
5. [What is faster: vec.emplace_back(x) or vec[x] ?](https://johnysswlab.com/what-is-faster-vec-emplace_backx-or-vecx/)
6. [Conan 2.0 Recipe Migrations in ConanCenterIndex](https://blog.conan.io/2022/10/26/Migrating-Recipes-Conan-v2-In-CCI.html)
7. [Four Cornerstones of CPU Performance.](https://easyperf.net/blog/2022/10/17/Four-Cornerstones-of-CPU-Performance)
8. [Why Coding Strategies with Coroutines?](https://lucisqr.substack.com/p/why-coroutines)
9. [How To Simplify Fuzz Testing For C++](https://www.code-intelligence.com/blog/simplify-fuzz-testing-for-cpp)
10. [How To Use std::visit With Multiple Variants and Parameters](https://www.cppstories.com/2018/09/visit-variants/)
11. [Stranger Strings: An exploitable flaw in SQLite](https://blog.trailofbits.com/2022/10/25/sqlite-vulnerability-july-2022-library-api/)
12. [Smaller C++20 Features - My Presentation](https://www.cppstories.com/2022/talk-smaller-cpp20/)
13. [C++20 Oxymoron: constexpr virtual](https://www.cppstories.com/2021/constexpr-virtual/)
14. [The evolution of statements with initializers in C++](https://www.sandordargo.com/blog/2022/10/26/statements-with-initializers-part-1-conditionals)
**Videos**
1. [C++23 - What's In It For You? - Marc Gregoire - CppCon 2022](https://www.youtube.com/watch?v=b0NkuoUkv0M)
2. [Deciphering Coroutines - A Visual Approach - Andreas Weis - CppCon 2022](https://www.youtube.com/watch?v=J7fYddslH0Q)
3. [Why is there a make_unique? - Meeting C++ blogroll highlight](https://www.youtube.com/watch?v=O100NWjAOwk)
4. [Back to Basics: Templates in C++ - Nicolai Josuttis - CppCon 2022](https://www.youtube.com/watch?v=HqsEHG0QJXU)
5. [Functional Composable Operations with Unix-Style Pipes in C++ - Ankur Satle - CppCon 2022](https://www.youtube.com/watch?v=L_bomNazb8M)
6. [Deciphering C++ Coroutines - A Diagrammatic Coroutine Cheat Sheet - Andreas Weis - CppCon 2022](https://www.youtube.com/watch?v=J7fYddslH0Q)
7. [Back to Basics: Debugging in C++ - Mike Shah - CppCon 2022](https://www.youtube.com/watch?v=YzIBwqWC6EM)
8.
[P2656: C++ Ecosystem International Standard](https://www.reddit.com/r/cpp/comments/y60qb8/p2656_c_ecosystem_international_standard/)
[C++ Ecosystem International Standard](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2656r0.html)
[What are some of the use case for coroutines?](https://www.reddit.com/r/cpp/comments/y9q539/what_are_some_of_the_use_case_for_coroutines/)
[Do you prefer to value-initialize struct data members in-class?](https://www.reddit.com/r/cpp/comments/y8cu25/do_you_prefer_to_valueinitialize_struct_data/)
[Should there be a shorter way to static_cast ?](https://www.reddit.com/r/cpp/comments/y48nfd/should_there_be_a_shorter_way_to_static_cast/)
- [Overview of Internationalization and Unicode Projects](https://www.youtube.com/watch?v=wMMMyZL0lwY&list=PLMc927ywQmTNQrscw7yvaJbAbMJDIjeBh) 是一个系列,不错
- [Convenient Unicode UTF-8 UTF-16 Conversion Functions for Windows C++ Code](https://blogs.msmvps.com/gdicanio/2022/10/17/convenient-unicode-utf-8-utf-16-conversion-functions-for-windows-c-code/)
- [Understanding how Vectors work in C++ (Part-3): Diving deep into member functions of vectors](https://krshrimali.github.io/posts/2020/04/understanding-how-vectors-work-in-c-part-3-diving-deep-into-member-functions-of-vectors/)
- [Is TMP really faster if the recusion depth is very deep?](https://stackoverflow.com/questions/70737474/is-tmp-really-faster-if-the-recusion-depth-is-very-deep)
## 第26期 221106
**Articles**
1. [6 Ways to Refactor new/delete into unique ptr](https://www.cppstories.com/2021/refactor-into-uniqueptr/)
2. [The constexpr array size problem](https://brevzin.github.io/c++/2020/02/05/constexpr-array-size/)
3. [The pool of talented C++ developers is running dry](https://www.efinancialcareers.co.uk/news/2022/11/why-is-there-a-drought-in-the-talent-pool-for-c-developers)
4. [Maven on C++23](https://www.mavensecurities.com/maven-on-c23/)
5. [The evolution of statements with initializers in C++](https://www.sandordargo.com/blog/2022/10/26/statements-with-initializers-part-1-conditionals)
1. [The evolution of statements with initializers in C++ - part 2](https://www.sandordargo.com/blog/2022/11/02/statements-with-initializers-part-2-loops)
6. [Effect handlers in C++](https://github.com/maciejpirog/cpp-effects)
7. [Google takes on C++ technical debt with new successor language: Carbon](https://sdtimes.com/software-development/google-takes-on-c-technical-debt-with-new-successor-language-carbon/)
8. [C++ is the next C++](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2657r0.html)
9. [Stop searching for shared libraries](https://stoppels.ch/2022/08/04/stop-searching-for-shared-libraries.html)
**Videos**
1. [Taking a Byte Out of C++ - Avoiding Punning by Starting Lifetimes - Robert Leahy - CppCon 2022](https://www.youtube.com/watch?v=pbkQG09grFw)
2. [C++ Performance Portability - A Decade of Lessons Learned - Christian Trott - CppCon 2022](https://www.youtube.com/watch?v=jNGGKFkt4lA)
3. [import CMake, CMake and C++20 Modules - Bill Hoffman - CppCon 2022](https://www.youtube.com/watch?v=5X803cXe02Y)
4. [Back to Basics: C++ Move Semantics - Andreas Fertig - CppCon 2022](https://www.youtube.com/watch?v=knEaMpytRMA)
5. [HPX - A C++ Library for Parallelism and Concurrency - Hartmut Kaiser - CppCon 2022](https://www.youtube.com/watch?v=npufmMlGOoM)
6. [C++ Package Managers - C++ Dependencies Don't Have To Be Painful! - Augustin Popa](https://www.youtube.com/watch?v=rrcngYMAJ-w)
7. [How Microsoft Uses C++ to Deliver Office - Huge Size, Small Components - Zachary Henkel CppCon 2022](https://www.youtube.com/watch?v=0QtX-nMlz0Q)
8. [C++ Weekly - Ep 348 - A Modern C++ Quick Start Tutorial - 90 Topics in 20 Minutes](https://www.youtube.com/watch?v=VpqwCDSfgz0)
9. [Introduction to Smart Pointers and Why](https://www.youtube.com/watch?v=nd2X5q_rXlc)
10. [Back to Basics: Cpp Value Semantics - Klaus Iglberger - CppCon 2022](https://www.youtube.com/watch?v=G9MxNwUoSt0)
[const, volatile, restrict - Writing a C interpreter - Part 15](https://www.youtube.com/watch?v=MHE8oC4MWb4)
[Meeting C++ 2022 live schedule](https://meetingcpp.com/mcpp/schedule/)11月17日开始,值得一看。
## 第27期 221118
**Articles**
1. [Measuring the memory usage of your C++ program](https://lemire.me/blog/2022/11/10/measuring-the-memory-usage-of-your-c-program/)
2. [The Rules of Three, Five and Zero](https://blog.sonarsource.com/the-rules-of-three-five-and-zero/)
3. [Why to use C++ in 2022?](https://dev.to/sandordargo/why-to-use-c-in-2022-56hi)
4. [Understanding qAsConst and std::as_const](https://www.kdab.com/blog-qasconst-and-stdas_const/)
5. [Strong Types in C++: A Concrete Example](https://www.cppstories.com/2021/strong-types-pesel/)
6. [Improving my C++ time queue](https://schneide.blog/2022/11/10/improving-my-c-time-queue/)
7. [Overview of C++ Variable Initialization](https://www.caichinger.com/cpp/initialization.html "Overview of C++ Variable Initialization")
8. [The Facade Pattern]()(https://www.modernescpp.com/index.php/the-facade-pattern)
9. [Trip report: Autumn ISO C++ standards meeting (Kona)](https://herbsutter.com/2022/11/12/trip-report-autumn-iso-c-standards-meeting-kona/)
10. [For Software Performance, the Way Data is Accessed Matters!](https://johnnysswlab.com/for-software-performance-the-way-data-is-accessed-matters/)
11. [Standard C++ Foundation Annual Report for Fiscal Year 2022](https://isocpp.org/blog/2022/11/standard-cpp-foundation-annual-report-for-fiscal-year-2022)
12. [Using final in C++ to improve performance](https://blog.feabhas.com/2022/11/using-final-in-c-to-improve-performance/)
**Videos**
1. [ISO C++ Standards Committee Panel Discussion - Hosted by Herb Sutter - CppCon 2022](https://www.youtube.com/watch?v=VI21tpdkHA8)
2. [C++ Concurrency TS 2 Use Cases and Future Direction - Michael Wong, Maged Michael, Paul McKenne](https://www.youtube.com/watch?v=3sO4IrWQPnc)
3. [C++ Lambda Idioms - Timur Doumler - CppCon 2022](https://www.youtube.com/watch?v=xBAduq0RGes)
4. [Help! My Codebase has 5 JSON Libraries - How Generic Programming Rescued Me - Christopher McArthur](https://www.youtube.com/watch?v=Oq4NW5idmiI)
5. [Is Web3 bullshit? | Molly White at Web Summit 2022](https://www.youtube.com/watch?v=AGsllEF7w_g)
6. [Understanding Allocator Impact on Runtime Performance in C++ - Parsa Amini - CppCon 2022](https://www.youtube.com/watch?v=Ctfbs6UVJ9Y)
7. [What is good C++ code? - Bjarne Stroustrup](https://www.youtube.com/watch?v=0Fl9fhmfBYY) Nov 15
8. [AMA with Sean Parent - Meeting C++ online](https://www.youtube.com/watch?v=8SF-UR8AuPI)
9. [C++ Weekly - Ep 350 - The Right Way to Write C++ Code in 2022](https://www.youtube.com/watch?v=q7Gv4J3FyYE)
10. [Keynote: C++'s Superpower - Matt Godbolt - CPPP 2021](https://www.youtube.com/watch?v=0_UttFDnV3k)
- [C++20 coroutines as an API principle - Marc Mutz - Meeting C++ 2021](https://www.youtube.com/watch?v=tvdwYwTyrig)
- [50 shades of C++ - Nicolai Josuttis - Meeting C++ 2018 Closing Keynote](https://www.youtube.com/watch?v=9-_TLTdLGtc)
- [Oh No! More Modern CMake - Deniz Bahadir - Meeting C++ 2019](https://www.youtube.com/watch?v=y9kSr5enrSk)
## 第28期 221126
**Articles**
1. [Inside `boost::unordered_flat_map`](https://bannalia.blogspot.com/2022/11/inside-boostunorderedflatmap.html)
2. [P2723R0: Zero-initialize objects of automatic storage duration](https://isocpp.org/files/papers/P2723R0.html)
3. [5 Things you and your C++ team can Do Differently](https://andreasfertig.blog/2022/11/5-things-you-and-your-cpp-team-can-do-differently/)
4. [C++23: How lambdas are going to change?](https://www.sandordargo.com/blog/2022/11/23/cpp23-changes-to-lambdas)
5. [Exploring the Limits of Class Template Argument Deduction](https://www.lukas-barth.net/blog/exploring-limits-ctad/)
6. [C++20 Coroutines and io_uring - Part 1/3](https://pabloariasal.github.io/2022/11/12/couring-1/)
7. [C++20 Coroutines and io_uring - Part 2/3](https://pabloariasal.github.io/2022/11/13/couring-2/)
8. [C++20 Coroutines and io_uring - Part 3/3](https://pabloariasal.github.io/2022/11/13/couring-3/)
9. [Using Rust at a startup: A cautionary tale](https://mdwdotla.medium.com/using-rust-at-a-startup-a-cautionary-tale-42ab823d9454)
10. [Avoiding direct syscall instructions by using trampolines](https://eversinc33.github.io/posts/avoiding-direct-syscall-instructions/)
11. [Casting a negative float to an unsigned int](https://embeddeduse.com/2013/08/25/casting-a-negative-float-to-an-unsigned-int/)
12. [Sometimes perfect forwarding can be too perfect: Lazy conversion is lazy](https://devblogs.microsoft.com/oldnewthing/20221123-00/?p=107443)
**Videos**
1. [Undefined Behavior in the STL - Sandor Dargo - CppCon 2022](https://www.youtube.com/watch?v=fp45k9gsnUo)
2. [Understanding C++ Coroutines by Example: Generators (Part 1 of 2) - Pavel Novikov - CppCon 2022](https://www.youtube.com/watch?v=lm10Cj-HNKQ)
3. [High Speed Query Execution with Accelerators and C++ - Alex Dathskovsky - CppCon 2022](https://www.youtube.com/watch?v=V_5p5rukBlQ)
4. [The Hidden Performance Price of C++ Virtual Functions - Ivica Bogosavljevic - CppCon 2022](https://www.youtube.com/watch?v=n6PvvE_tEPk)
5. [Taking Static Type-Safety to the Next Level - Physical Units for Matrices - Daniel Withopf CppCon 22](https://www.youtube.com/watch?v=aF3samjRzD4)
6. [Whats new in Conan 2.0 - Christopher McArthur - Meeting C++ 2022](https://www.youtube.com/watch?v=v5BMoW9wVg8)
7. [Back to Basics: C++ Testing - Amir Kirsh - CppCon 2022](https://www.youtube.com/watch?v=SAM4rWaIvUQ)
8. [C++ MythBusters - Victor Ciura - CppCon 2022](https://www.youtube.com/watch?v=bcl33-lIC70)
9. [std function, past, present, future - Farid Mehrabi - Meeting C++ 2022](https://www.youtube.com/watch?v=UWWiujeuWrQ)
10. [Purging Undefined Behavior & Intel Assumptions in a Legacy C++ Codebase - Roth Michaels CppCon 2022](https://www.youtube.com/watch?v=vEtGtphI3lc)
11. [WebAssembly: Taking Your C++ and Going Places - Nipun Jindal & Pranay Kumar - CppCon 22](https://www.youtube.com/watch?v=ZS6OUzDFrE0)
12. [Scalable and Low Latency Lock-free Data Structures in C++ - Alexander Krizhanovsky - CppCon 2022](https://www.youtube.com/watch?v=_dS4Z6JifPs)
13. [Refresher on Containers, Algorithms and Performance in C++ - Vladimir Vishnevskii - CppCon 2022](https://www.youtube.com/watch?v=F4n3ModsWHI)
14. [code::dive 2022 – room no. IX](https://www.youtube.com/watch?v=15j0SvA17-w&t=12777s) Python
15. [Living at HEAD with Bazel - Šimon Tóth - Meeting C++ 2022](https://www.youtube.com/watch?v=gcI5R9W-nXs)
16. [Whats new in Conan 2.0 - Christopher McArthur - Meeting C++ 2022](https://www.youtube.com/watch?v=v5BMoW9wVg8)
17. [C++ for multi-accelerator, multi-vendor systems - Guy Tamir - Meeting C++ 2022](https://www.youtube.com/watch?v=33vnEuIYQBU)
## 第29期 221205
**Articles**
1. [Blogvent 3 - std::string_view and std::map](https://olafurw.com/2022-12-03-a-view-of-a-map/)
2. [Sandor Dargo's Blog - C++23: auto(x) and decay copy](https://www.sandordargo.com/blog/2022/11/30/cpp23-auto-and-decay-copy)
3. [Modernes C++ - The Visitor Pattern](http://www.modernescpp.com/index.php/the-visitor-pattern)
4. [Visual C++ Team Blog - A Tour of 4 MSVC Backend Improvements](https://devblogs.microsoft.com/cppblog/a-tour-of-4-msvc-backend-improvements/)
5. [embedded use - The Key Principles of Continuous Delivery](https://embeddeduse.com/2022/11/28/the-key-principles-of-continuous-delivery/)
6. [KDAB - CXX-Qt 0.4.0, glTF in Qt 3D – Vulkan & embedded, qAsConst and std::as_const, Codebrowser, videos, Events](https://www.kdab.com/2022-nov-newsletter/)
7. [Marius Bancila - A study of several issues found with static analysis](https://mariusbancila.ro/blog/2022/11/28/a-study-of-several-issues-found-with-static-analysis/)
**Videos**
1. [Configuration, Extension, Maintainability - Titus Winters - CppCon](https://www.youtube.com/watch?v=J6SNO5o9ADg)
2. [Sandbox Games: Using WebAssembly and C++ to make a simple game - Ólafur Waage - Meeting C++ 2022](https://www.youtube.com/watch?v=LjV1J_TDb5c)
3. [Graph Algorithms and Data Structures in C++20 - Phil Ratzloff & Andrew Lumsdaine - CppCon 2022](https://www.youtube.com/watch?v=jCnBFjkVuN0&t=605s)
4. [Back to Basics: C++ Smart Pointers - David Olsen - CppCon 2022](https://www.youtube.com/watch?v=YokY6HzLkXs)
5. [An introduction to multithreading in C++20 - Anthony Williams - Meeting C++ 2022](https://www.youtube.com/watch?v=F23OZS5vVyg)
6. [Case For a Standardized Package Description Format for External C++ Libraries - Luis Caro Campos](https://www.youtube.com/watch?v=wJYxehofwwc)
7. [A totally constexpr standard library - Paul Keir, Joel Falcou et al - Meeting C++ 2022](https://www.youtube.com/watch?v=ekFPm7e__vI)
8. [Petrinets: What are they? How can they help us? - Gabriel Valenzuela - Meeting C++ 2022[prerecorded]](https://www.youtube.com/watch?v=Ew4LL_OJ2BE)
9. [How to Use Dependency Injection to Write Maintainable Software - Francesco Zoffoli - Meeting C++2022](https://www.youtube.com/watch?v=U010aOaYTJs)
## 第30期 221222
**Articles**
1. [C++ Uniform Initialization - Benefits & Pitfalls](https://ianyepan.github.io/posts/cpp-uniform-initialization/)
2. [C/C++ Profiling Tools](https://www.kdab.com/c-cpp-profiling-tools/)
3. [const vs constexpr vs consteval vs constinit in C++20](https://www.cppstories.com/2022/const-options-cpp20/)
4. [vcpkg Documentation Moves to Microsoft Docs Platform](https://devblogs.microsoft.com/cppblog/vcpkg-documentation-moves-to-microsoft-docs-platform/)
5. [Google introduces end-to-end encryption for Gmail on the web](https://www.bleepingcomputer.com/news/security/google-introduces-end-to-end-encryption-for-gmail-on-the-web/)
6. [AMA with Bjarne Stroustrup at Meeting C++ 2022](https://www.youtube.com/watch?v=KwLmsFgogN0)
7. [String Obfuscation The Malware Way](https://dr4k0nia.github.io/posts/String-Obfuscation-The-Malware-Way/)
8. [High-confidence Lifetime Checks in Visual Studio version 17.5 Preview 2](https://devblogs.microsoft.com/cppblog/high-confidence-lifetime-checks-in-visual-studio-version-17-5-preview-2/)
9. [5 Advantages of C++ Lambda Expressions and How They Make Your Code Better](https://www.cppstories.com/2020/05/lambdasadvantages.html/)
10. [Checking for the absence of a string, naive AVX-512 edition](https://lemire.me/blog/2022/12/15/checking-for-the-absence-of-a-string-naive-avx-512-edition/)
11. [C++ Software Design by Klaus Iglberger](https://www.sandordargo.com/blog/2022/12/17/cpp-software-design-by-klaus-iglberger)
12. [CUDA Toolkit 12.0 Released for General Availability](https://developer.nvidia.com/blog/cuda-toolkit-12-0-released-for-general-availability/)
13. [Compiler Tricks to Avoid ABI-Induced Crashes](https://randomascii.wordpress.com/2022/12/14/compiler-tricks-to-avoid-abi-induced-crashes/)
14. [Five tricky topics for data members in C++20](https://www.cppstories.com/2022/five-topics-data-members-cpp20/)
15. [C++23: attributes](https://www.sandordargo.com/blog/2022/12/14/cpp23-attributes)
16. [Standards conformance improvements to /Gw in Visual Studio version 17.5 Preview 2](https://devblogs.microsoft.com/cppblog/standards-conformance-improvements-to-gw-in-visual-studio-version-17-5-preview-2/)
17. [Improving the State of Debug Performance in C++](https://devblogs.microsoft.com/cppblog/improving-the-state-of-debug-performance-in-c/)
18. [Webinar: C++ with Python for Algorithmic Trading](https://www.modernescpp.com/index.php/webinar-c-with-python-for-algorithmic-trading)
19. [What is the memory usage of a small array in C++?](https://lemire.me/blog/2022/12/12/what-is-the-memory-usage-of-a-small-array-in-c/)
20. [What does it mean when the compiler tells me that `promise_type`: is not a member of `coroutine_traits<void>`?](https://devblogs.microsoft.com/oldnewthing/20221212-00/?p=107582)
21. [Using Swift from C++](https://github.com/apple/swift-evolution/blob/main/visions/using-swift-from-c%2B%2B.md)
22. [Enabling Dynamic Control Flow in CUDA Graphs with Device Graph Launch](https://developer.nvidia.com/blog/enabling-dynamic-control-flow-in-cuda-graphs-with-device-graph-launch/)
**Videos**
1. [Back to Basics: Master C++ Value Categories With Standard Tools - Inbal Levi - CppCon 2022](https://www.youtube.com/watch?v=tH0Z2OvHAd8)
2. [Back to Basics: RAII in C++ - Andre Kostur - CppCon 2022](https://www.youtube.com/watch?v=Rfu06XAhx90)
3. [Introduction to Hardware Efficiency in Cpp - Ivica Bogosavljevic - CppCon 2022](https://www.youtube.com/watch?v=Fs_T070H9C8)
4. [From C++ Templates to C++ Concepts - Metaprogramming: an Amazing Journey - Alex Dathskovsky](https://www.youtube.com/watch?v=_doRiQS4GS8)
5. [Contemporary C++ in Action - Daniela Engert - Center Keynote Meeting C++ 2022](https://www.youtube.com/watch?v=el-xE645Clo)
6. [The Most Important Optimizations to Apply in Your C++ Programs - Jan Bielak - CppCon 2022](https://www.youtube.com/watch?v=qCjEN5XRzHc)
7. [10 Years of Meeting C++ - Historical Highlights and the Future of C++ - Jens Weller - CppCon 2022](https://www.youtube.com/watch?v=Rbu_YP2sydo)
8. [Belle Views on C++ Ranges, their Details and the Devil - Nico Josuttis - Keynote Meeting C++ 2022](https://www.youtube.com/watch?v=O8HndvYNvQ4)
9. [Managing External API’s in Enterprise systems - Pete Muldoon - CppCon 2022](https://www.youtube.com/watch?v=cDfX1AqNYcE)
10. [A Lock-Free Atomic Shared Pointer in Modern Cpp - Timur Doumler - CppCon 2022](https://www.youtube.com/watch?v=gTpubZ8N0no)
11. [MDSPAN - A Deep Dive Spanning C++, Kokkos & SYCL - Nevin Liber - CppCon 2022](https://www.youtube.com/watch?v=lvylnaqB96U)
12. [C++ Weekly - Ep 242 - Design By Introspection in C++20 (concepts + if constexpr)](https://www.youtube.com/watch?v=sy32kAtsIKg)
13. [CUDA 12 New Features and Beyond](https://www.youtube.com/watch?v=_5mnVGOxq50)
- [Lambda Week: Tricks](https://www.cppstories.com/2020/08/c-lambda-week-some-tricks.html/)
- [How a weak_ptr might prevent full memory cleanup of managed object](https://www.cppstories.com/2017/12/weakptr-memory/)
- [2 Lines Of Code and 3 C++17 Features - The overload Pattern](https://www.cppstories.com/2019/02/2lines3featuresoverload.html/)
- [Using C++ as a scripting language, part 6](https://fwsgonzo.medium.com/using-c-as-a-scripting-language-part-6-9ef76c4f6272)
## 第31期 221231
**Articles**
1. [The Copy-and-Swap Idiom](https://www.modernescpp.com/index.php/the-copy-and-swap-idiom)
2. [Class templates versus constructor templates](https://www.sandordargo.com/blog/2022/12/21/class-template-vs-class-with-ctor-template)
3. [Avoiding Detection with Shellcode Mutator](https://labs.nettitude.com/blog/shellcode-source-mutations/)
4. [GuLoader’s Unique Approach to Obfuscation: Understanding Stack Manipulation](https://www.0ffset.net/reverse-engineering/guloaders-stack-manipulation/)
5. [The Top 100 QML Resources by KDAB](https://www.kdab.com/top-100-qml-resources-kdab/)
6. [Structured bindings in C++17, 5 years later](https://www.cppstories.com/2022/structured-bindings/)
7. [KINIBI TEE: TRUSTED APPLICATION EXPLOITATION](https://www.synacktiv.com/en/publications/kinibi-tee-trusted-application-exploitation.html)
8. [How to contribute to LLVM](https://developers.redhat.com/articles/2022/12/20/how-contribute-llvm#)
9. [Linux Internals: How /proc/self/mem writes to unwritable memory](https://offlinemark.com/2021/05/12/an-obscure-quirk-of-proc/)
10. [C++ Stories - Structured bindings in C++17, 5 years later](https://www.cppstories.com/2022/structured-bindings/)
11. [Marius Bancila - The C++23 standard break-down](https://mariusbancila.ro/blog/2022/12/23/the-cpp23-standard-break-down/)
12. [Sandor Dargo's Blog - Class templates versus constructor templates](https://www.sandordargo.com/blog/2022/12/21/class-template-vs-class-with-ctor-template)
13. [Sandor Dargo's Blog - C++ Software Design by Klaus Iglberger](https://www.sandordargo.com/blog/2022/12/17/cpp-software-design-by-klaus-iglberger)
14. [Lemire's blog - Implementing ‘strlen’ using SVE](https://lemire.me/blog/2022/12/19/implementing-strlen-using-sve/)
15. [Lemire's blog - The size of things in bytes](https://lemire.me/blog/2022/12/21/the-size-of-things-in-bytes/)
**Videos**
1. [Back to Basics: Master C++ Value Categories With Standard Tools - Inbal Levi - CppCon 2022](https://www.youtube.com/watch?v=tH0Z2OvHAd8)
2. [Breaking Dependencies - C++ Type Erasure - The Implementation Details - Klaus Iglberger CppCon 2022](https://www.youtube.com/watch?v=w-NN5r1Awqw)
3. [Optimizing A String Class for Computer Graphics in Cpp - Zander Majercik, Morgan McGuire CppCon 22](https://www.youtube.com/watch?v=fglXeSWGVDc)
4. [Breaking Dependencies: The Path to High-Quality Software - Klaus Iglberger - Meeting C++ 2022](https://www.youtube.com/watch?v=B4s381OrjWo)
5. [GPU Performance Portability Using Standard C++ with SYCL - Hugh Delaney & Rod Burns - CppCon 2022](https://www.youtube.com/watch?v=8Cs_uI-O51s)
6. [Timur Doumler - What is Low Latency C++?](https://www.youtube.com/watch?v=NrrG2TYF1dM)
7. [C++ Weekly - Ep 355 - 3 Steps For Safer C++](https://www.youtube.com/watch?v=dSYFm65KcYo)
8. [How to Make Beautiful Code Presentations](https://www.youtube.com/watch?v=Vh3y1ela-_s)
9. [C++ Weekly - Ep 355 - 3 Steps For Safer C++](https://www.youtube.com/watch?v=dSYFm65KcYo)
10. [To Move or not to Move - Amir Kirsh - Meeting C++ 2022](https://www.youtube.com/watch?v=yFtcGagqyLU)
11. [Breaking Dependencies: The Path to High-Quality Software - Klaus Iglberger - Meeting C++ 2022](https://www.youtube.com/watch?v=B4s381OrjWo)
12. [Nth pack element... - A case study - Kris Jusiak - Meeting C++ 2022](https://www.youtube.com/watch?v=7xCm_-SPM7k)
13. [GPU Performance Portability Using Standard C++ with SYCL - Hugh Delaney & Rod Burns - CppCon 2022](https://www.youtube.com/watch?v=8Cs_uI-O51s)
14. [Optimizing A String Class for Computer Graphics in Cpp - Zander Majercik, Morgan McGuire CppCon 22](https://www.youtube.com/watch?v=fglXeSWGVDc)
15. [Breaking Dependencies - C++ Type Erasure - The Implementation Details - Klaus Iglberger CppCon 2022](https://www.youtube.com/watch?v=qn6OqefuH08)
16. [Lambdas, how to capture everything and stay sane - Dawid Zalewski - Meeting C++ 2022](https://www.youtube.com/watch?v=42aOhzhmIpU)
17. [Contemporary C++ in Action - Daniela Engert - CppCon 2022](https://www.youtube.com/watch?v=yUIFdL3D0Vk)
18. [MUCplusplus YT - [MUC++] Phil Nash - Coroutines, From Scratch](https://www.youtube.com/watch?v=E8tu2jQXyZo)
19. [MUCplusplus YT - [MUC++] Timur Doumler - What is Low Latency C++?](https://www.youtube.com/watch?v=NrrG2TYF1dM)
[6 Ways to Refactor new/delete into unique ptr](https://www.cppstories.com/2021/refactor-into-uniqueptr/)
[The Template Method](https://www.modernescpp.com/index.php/the-template-method)
## 第32期 2212XX
**Articles**
1. [The Bitter Truth: Python 3.11 vs Cython vs C++ Performance for Simulations](https://medium.com/agents-and-robots/the-bitter-truth-python-3-11-vs-cython-vs-c-performance-for-simulations-babc85cdfef5#id_token=eyJhbGciOiJSUzI1NiIsImtpZCI6IjhlMGFjZjg5MWUwOTAwOTFlZjFhNWU3ZTY0YmFiMjgwZmQxNDQ3ZmEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20iLCJuYmYiOjE2NzI1NTk5MDcsImF1ZCI6IjIxNjI5NjAzNTgzNC1rMWs2cWUwNjBzMnRwMmEyamFtNGxqZGNtczAwc3R0Zy5hcHBzLmdvb2dsZXVzZXJjb250ZW50LmNvbSIsInN1YiI6IjEwMDk5MjUyNDc1MzA3MTUxNDM3MSIsImVtYWlsIjoieW1pd2xlZUBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiYXpwIjoiMjE2Mjk2MDM1ODM0LWsxazZxZTA2MHMydHAyYTJqYW00bGpkY21zMDBzdHRnLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwibmFtZSI6ImxraW11ayIsInBpY3R1cmUiOiJodHRwczovL2xoMy5nb29nbGV1c2VyY29udGVudC5jb20vYS9BRWRGVHA2V0l4OHU4UlFrajhFbnMyMnZqMUVWdW54WjNLS3JhYnJ6dFMxUj1zOTYtYyIsImdpdmVuX25hbWUiOiJsa2ltdWsiLCJpYXQiOjE2NzI1NjAyMDcsImV4cCI6MTY3MjU2MzgwNywianRpIjoiNTc3MTBkMWE5ODQ2NjgwODFiMjQ5MzYxMzhmZjNmNTU1Y2IwNWZiMCJ9.OGcUD08sfQHXJCOuBCqwrx494l15JZjPgin7L5ZMFRcJIb0qtx62u9W0QGPgBXvZfeASQxT831H0HB_v9Ex-ziq22ipPS49rnHsxFZX0uDGKLYka-D1Rs8AtBvkPGXae9YNTKr-HVry3B4nbXGjQk0fog-b-nbZNiMTnbejAojNzWNDaGxa_bALqM8qqxGVbdwsw3Nv1NKV5w7fSiP8j2cVQowgFw3XqiMZjFeptGb3YkgMeGhBDJJOXosPrczNDsLT3HmG_S64RViEBX55ZRkT-6vQtEiDogac6aWTQ1Qmi8NhhcRdM6eDjDYkha5KjCI6M3X6lvQRNgXOGPP82aw)
2. [Cpp2 and cppfront: Year-end mini-update](https://herbsutter.com/2022/12/31/cpp2-and-cppfront-year-end-mini-update/)
**Videos**
1. [Deciphering Coroutines - a visual approach - Andreas Weis - Meeting C++ 2022](https://www.youtube.com/watch?v=e5F6k01A0RI)
[The C++23 standard break-down](https://mariusbancila.ro/blog/2022/12/23/the-cpp23-standard-break-down/)
https://www.cppstories.com/2022/cpp-status-2022/
================================================
FILE: 2022/articles-videos/220204.md
================================================
## Articles & Papers
1. Conditional Members
https://brevzin.github.io/c++/2021/11/21/conditional-members/
2. co_resource<T>: An RAII coroutine
https://vector-of-bool.github.io/2021/12/30/co_resource.html
3. The Evolution of Functions in Modern C++
https://mariusbancila.ro/blog/2022/01/01/the-evolution-of-functions-in-modern-cpp/
4. Examples of 7 Handy Functions for Associative Containers in Modern C++
https://www.cppstories.com/2021/handy-map-functions/
5. Implementing Parallel copy_if in C++
https://www.cppstories.com/2021/par-copyif/
6. Speculation on the design decisions that led to the common ABI for C++ coroutines
https://devblogs.microsoft.com/oldnewthing/20220103-00/?p=106109
7. The big STL Algorithms tutorial: more numeric algorithms
https://www.sandordargo.com/blog/2022/01/05/stl-alogorithms-tutorial-part-28-more_numeric
8. There might not be an elegant OOTA fix
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1916r0.pdf
9. Variant Visitation V2
https://mpark.github.io/programming/2019/01/22/variant-visitation-v2/
10. Introducing KDBindings - Reactive Programming and Data Binding in C++
https://www.kdab.com/signals-slots-properties-bindings/
11. Named parameters for C++11 with variadic templates vs a language feature
http://ib-krajewski.blogspot.com/2020/05/named-params-for-c11-using-varaidic.html
12. C++ 20 concurrency Part 1: synchronized output stream
https://ggulgulia.medium.com/c-20-concurrency-part-1-synchronized-output-stream-59532e85cde8
C++20 Concurrency — Part 2: jthreads
https://ggulgulia.medium.com/c-20-concurrency-part-2-jthreads-f531a4d43c2f
C++20 Concurrency: part-3 request_stop and stop_token for std::jthread
https://ggulgulia.medium.com/c-20-concurrency-part-3-request-stop-and-stop-token-for-std-jthread-5e45cb48f4bc
13. string_view range constructor should be explicit
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2499r0.html
14. 20 Smaller yet Handy C++20 Features
https://www.cppstories.com/2022/20-smaller-cpp20-features/
15. Changes between C++17 and C++20 DIS
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2131r0.html
16. Yet another approach for constrained declarations
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1141r2.html
17. Familiar template syntax for generic lambdas 提案
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0428r2.pdf
18. constexpr Dynamic Memory Allocation, C++20
https://www.cppstories.com/2021/constexpr-new-cpp20/
19. constexpr vector and string in C++20 and One Big Limitation
https://www.cppstories.com/2021/constexpr-vecstr-cpp20/
20. How to Check String or String View Prefixes and Suffixes in C++20
https://www.cppstories.com/2020/08/string-prefix-cpp20.html/
21. Examples of 7 Handy Functions for Associative Containers in Modern C++
https://www.cppstories.com/2021/handy-map-functions/
22. Improving Print Logging with Line Pos Info & Modern C++
https://www.cppstories.com/2019/04/file-pos-log/
23. The Interesting Evolution of std::equal_range
https://www.fluentcpp.com/2022/01/10/the-interesting-evolution-of-stdequal_range/
24. Dining Philosophers Problem I
https://www.modernescpp.com/index.php/dining-philiosophers-problem-i
25. 6 Ways to Refactor new/delete into unique ptr
https://www.cppstories.com/2021/refactor-into-uniqueptr/
26. How we used C++20 to eliminate an entire class of runtime bugs
https://devblogs.microsoft.com/cppblog/how-we-used-cpp20-to-eliminate-an-entire-class-of-runtime-bugs/
27. One of the simplest error handlers ever written
https://belaycpp.com/2022/01/13/one-of-the-simplest-error-handlers-ever-written/
28. Empty Base Class Optimisation, no_unique_address and unique_ptr
https://www.cppstories.com/2021/no-unique-address/
29. Design and evolution of constexpr in C++
https://pvs-studio.com/en/blog/posts/cpp/0909/
30. What Are Local Functions, and Do They Exist in C++?
https://www.youtube.com/watch?v=-EDx6fC6mkQ
31. 2021 C++ Standardization Highlights
https://botondballo.wordpress.com/2022/01/03/2021-c-standardization-highlights/
32. The Interesting Evolution of std::equal_range
https://www.fluentcpp.com/2022/01/10/the-interesting-evolution-of-stdequal_range/
33. A new C++ proposal for standard access to the system thread pool, based on the executors proposal
https://isocpp.org/files/papers/P2079R2.html
34. Improving Stability with Modern C++, Part 1 — Getting Started
https://medium.com/factset/improving-stability-with-modern-c-part-1-getting-started-f7025e97e1c3
Improving Stability with Modern C++, Part 2 — Range-Based For-Loops
https://medium.com/factset/improving-stability-with-modern-c-part-2-range-based-for-loops-cdd27ce7a409
Improving Stability with Modern C++, Part 3 — The auto Keyword
https://medium.com/factset/improving-stability-with-modern-c-part-3-the-auto-keyword-2d529f72c022
Improving Stability with Modern C++, Part 4 — Memory Management
https://medium.com/factset/improving-stability-with-modern-c-part-4-memory-management-295a152d6901
35. The Shadowing Mitigation / Private Inheritance Problem
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0847r7.html#the-shadowing-mitigation-private-inheritance-problem
36. Technique: Compile Time Code Generation and Optimization
https://www.foonathan.net/2022/01/compile-time-codegen/
37. Excalibur
https://www.youtube.com/playlist?list=PLbtjxiXev6lrSovYDdI2xHVcw8Gk2J3Zw
38. Mundane std::tuple tricks: Getting started
https://devblogs.microsoft.com/oldnewthing/20200622-00/?p=103900
Mundane std::tuple tricks: Selecting via an index sequence, part 2
https://devblogs.microsoft.com/oldnewthing/20200624-00/?p=103902
39. Top-7 Performance Traps for Every Developer
https://www.cppstories.com/2021/perf-traps/
40. 20 Smaller yet Handy C++20 Features
https://www.cppstories.com/2022/20-smaller-cpp20-features/
41. C++ at the end of 2021
https://www.cppstories.com/2021/cpp-status-2021/
42. How we used C++20 to eliminate an entire class of runtime bugs
https://devblogs.microsoft.com/cppblog/how-we-used-cpp20-to-eliminate-an-entire-class-of-runtime-bugs/
43. The mystery of the crash that seems to be on a std::move operation
https://devblogs.microsoft.com/oldnewthing/20220120-00/?p=106178
44. Fixing the crash that seems to be on a std::move operation
https://devblogs.microsoft.com/oldnewthing/20220121-20/?p=106182
45. starts_with() and ends_with() for Strings in C++20
https://www.cppstories.com/2020/08/string-prefix-cpp20.html/
46. What are these weird internal Visual C++ runtime functions named NLG?
https://devblogs.microsoft.com/oldnewthing/20220126-00/?p=106197
47. Which Programming Paradigm Gives the Most Expressive Code?
https://www.fluentcpp.com/2022/01/24/programming-paradigm-gives-expressive-code/
48. Back Porting C++20 Coroutines to C++14
https://ladnir.github.io/blog/2022/01/24/macoro.html
49. Technique: Compile Time Code Generation and Optimization
https://www.foonathan.net/2022/01/compile-time-codegen/
50. Why is quicksort faster than heapsort? And how to make them faster?
https://johnysswlab.com/why-is-quicksort-faster-than-heapsort-and-how-to-make-them-faster/
51. constexpr Functions
https://www.modernescpp.com/index.php/constexprfunctions
52. C++ Templates: How to Iterate through std::tuple: the Basics
https://www.cppstories.com/2022/tuple-iteration-basics/
## Videos
1. Peter Sommerlad - What Classes We Design and How - Meeting C++ 2021
https://www.youtube.com/watch?v=Eq6yK3tg5-I
2. Conquering C++20 Ranges - Tristan Brindle - CppCon 2021
https://www.youtube.com/watch?v=3MBtLeyJKg0
3. Asynchronous I/O and coroutines for smooth data streaming
https://www.youtube.com/watch?v=9jKCdmAVtOY
4. C++20 Templates - the next level
https://www.youtube.com/watch?v=zxbBz40qvIA
5. Marek Krajewski - Two advanced PMR techniques in C++17/20 - Meeting C++ 2021
https://www.youtube.com/watch?v=6FDdK4V77tU
6. Matthias Killat - Lock-free programming for real-time systems - Meeting C++ 2021
https://www.youtube.com/watch?v=j2AgjFSFgRc
7. Practical Advice for Maintaining and Migrating Working Code - Brian Ruth - CppCon 2021
https://www.youtube.com/watch?v=CktRuMALe2A
8. Compile-Time Compression and Resource Generation with C++20 - Ashley Roll - CppCon 2021
https://www.youtube.com/watch?v=KDO3hbMR1yc
9. Sandor Dargo - the Concepts of concepts - Meeting C++ 2021
https://www.youtube.com/watch?v=x6ST1_m9kQ0
10. Auto is Not a Data Type
https://www.youtube.com/watch?v=2hM8w4auYWo
11. Configuration, Extension, Maintainability - Titus Winters - CppCon
https://www.youtube.com/watch?v=J6SNO5o9ADg
12. C++ Weekly - Ep 308 - 'if consteval' - There's More To This Story
https://www.youtube.com/watch?v=y3r9l3LZiJ8
13. Failing Successfully: Reporting and Handling Errors - Robert Leahy - CppCon 2021
https://www.youtube.com/watch?v=dQaRLmM7KKk
14. Implementing static_vector: How Hard Could it Be? - David Stone - CppCon 2021
https://www.youtube.com/watch?v=I8QJLGI0GOE
15. const and constexpr - Rainer Grimm - Meeting C++ online
https://www.youtube.com/watch?app=desktop&v=VmsFbYy_oRE
================================================
FILE: 2022/articles-videos/220211.md
================================================
## Articles & Papers
1. C++20 Concepts - a Quick Introduction
https://www.cppstories.com/2021/concepts-intro/
2. GSL 4.0.0 is Available Now
https://devblogs.microsoft.com/cppblog/gsl-4-0-0-is-available-now/
3. Why you should use std::move only rarely
https://andreasfertig.blog/2022/02/why-you-should-use-stdmove-only-rarely/
4. I don’t know which container to use (and at this point I’m too afraid to ask)
https://belaycpp.com/2022/02/02/i-dont-know-which-container-to-use-and-at-this-point-im-too-afraid-to-ask/
5. C++ at its finest: `function_traits<R (T::*)(TArgs......)>
https://t.co/7yn0BaoO1U
6. Working with Strings in Embedded C++
https://blog.feabhas.com/2022/02/working-with-strings-in-embedded-c/
7. Ranges and Forwarding References
https://tristanbrindle.com/posts/ranges-and-forwarding-references
8. Gotcha: C++/WinRT weak_ref.get() doesn’t get the weak reference; it gets the strong reference
https://devblogs.microsoft.com/oldnewthing/20220202-00/?p=106213
9. C++ Smart Pointers and Arrays
https://www.cppstories.com/2021/smartptr-array/
10. On finding the average of two unsigned integers without overflow
https://devblogs.microsoft.com/oldnewthing/20220207-00/?p=106223
11. constexpr and consteval Functions in C++20
http://www.modernescpp.com/index.php/constexpr-and-consteval-functions-in-c-20
12. Improving Output Iterators
https://brevzin.github.io/c++/2022/02/06/output-iterators/
13. The Usual Arithmetic Confusions
https://shafik.github.io/c++/2021/12/30/usual_arithmetic_confusions.html
14. Making my smart memory pool much smarter and rigorous
https://www.reddit.com/r/cpp/comments/smnv24/making_my_smart_memory_pool_much_smarter_and/
15. Design Patterns VS Design Principles: Visitor
https://www.fluentcpp.com/2022/02/09/design-patterns-vs-design-principles-visitor/
16. Non Static Data Members Initialization
https://www.cppstories.com/2015/02/non-static-data-members-initialization/
17. Implementing Parallel copy_if in C++
https://www.cppstories.com/2021/par-copyif/
18. C++ Insights news flash - Clang 13 and more
https://andreasfertig.blog/2022/02/cpp-insights-news-flash-clang-13-and-more/
19. Examples of 7 Handy Functions for Associative Containers in Modern C++
https://www.cppstories.com/2021/handy-map-functions/
## Videos
1. Design Patterns: Facts and Misconceptions - Klaus Iglberger - CppCon 2021
https://www.youtube.com/watch?v=OvO2NR7pXjg
2. Documentation in the Era of Concepts and Ranges - Christopher Di Bella & Sy Brand - CppCon 2021
https://www.youtube.com/watch?v=nm45t2fnUms&list=PLHTh1InhhwT6vjwMy3RG5Tnahw0G9qIx6
3. Embracing User Defined Literals Safely for Types that Behave as though Built-in - Pablo Halpern
https://www.youtube.com/watch?v=0p_RCdoxn5w
4. C++ Weekly - Ep 310 - Your Small Integer Operations Are Broken!
https://www.youtube.com/watch?v=R6_PFqOSa_c
5. C++ Weekly - Ep 309 - Are Code Comments a Code Smell?
https://www.youtube.com/watch?v=8V6Ry5eTTcc
6. The Preprocessor: Everything You Need to Know and More! - Brian Ruth - CppCon 2021
https://www.youtube.com/watch?v=6KNdGnUiRBM
7. C++ to the RISCue! A Practical Guide for Embedded C++20 - Kris Jusiak - CppCon 2021
https://www.youtube.com/watch?v=2Bi8SiVwyQA
8. SIMD algorithms
https://www.youtube.com/playlist?list=PLYCMvilhmuPEM8DUvY6Wg_jaSFHpmlSBD
9. Sandor Dargo - the Concepts of concepts - Meeting C++ 2021
https://www.youtube.com/watch?v=e77_aSaGfww
10. Composable C++: Principles and Patterns - Ben Deane - CppCon 2021
https://www.youtube.com/watch?v=zclxRbh4AN0
================================================
FILE: 2022/articles-videos/220218.md
================================================
## Articles & Papers
1. Improving Stability with Modern C++, Part 5 — Revisiting the Rule of Three
https://medium.com/factset/improving-stability-with-modern-c-part-5-revisiting-the-rule-of-three-402415ef09ec
2. constexpr if
http://www.modernescpp.com/index.php/constespr-if
3. C++ Templates: How to Iterate through std::tuple: std::apply and More
https://www.cppstories.com/2022/tuple-iteration-apply/
4. Embed the source code directly in your Qt app with qmake and qrc, for GPL compliance
https://raymii.org/s/articles/Embed_the_source_code_directly_in_your_Qt_app.html?utm_medium=rss&utm_source=raymii&utm_campaign=mainfeed
5. How to Use C++20 Modules with Bazel and Clang
https://buildingblock.ai/cpp20-modules-bazel
6. The 114 standard C++ algorithms. Introduction
https://itnext.io/the-114-standard-c-algorithms-introduction-2a75a2df4300
7. Projections are Function Adaptors
https://brevzin.github.io/c++/2022/02/13/projections-function-adaptors/
8. COM asynchronous interfaces, part 1: The basic pattern
https://devblogs.microsoft.com/oldnewthing/20220214-44/?p=106251
COM asynchronous interfaces, part 2: Abandoning the operation
https://devblogs.microsoft.com/oldnewthing/20220215-00/?p=106253
COM asynchronous interfaces, part 3: Abandoning the operation after a timeout
https://devblogs.microsoft.com/oldnewthing/20220216-00/?p=106261
COM asynchronous interfaces, part 4: Doing work while waiting for the asynchronous operation
https://devblogs.microsoft.com/oldnewthing/20220217-00/?p=106263
9. Constant references are not always your friends
https://belaycpp.com/2022/02/15/constant-references-are-not-always-your-friends/
10. Why I prefer C++: “RAII All The Things!”
https://covemountainsoftware.com/2019/11/26/why-i-prefer-c-raii-all-the-things/
11. C++ Trailing Return Types
https://www.danielsieger.com/blog/2022/01/28/cpp-trailing-return-types.html
12. Static B-Trees
https://en.algorithmica.org/hpc/data-structures/s-tree/
13. Modern C++: Safety and Expressiveness with override and final
https://www.cppstories.com/2021/override-final/
14. 12 Different Ways to Filter Containers in Modern C++
https://www.cppstories.com/2021/filter-cpp-containers/
15. Faster integer formatting - James Anhalt (jeaiii)’s algorithm
https://jk-jeon.github.io/posts/2022/02/jeaiii-algorithm/
## Videos
1. C++ Weekly - Ep 311 - ++i vs i++
https://www.youtube.com/watch?v=ObVRSNvGitE
2. Back To Basics: The Special Member Functions - Klaus Iglberger - CppCon 2021
https://www.youtube.com/watch?v=9BM5LAvNtus
3. [MUC++] Vittorio Romeo - C++11/14 at Scale: What Have We Learned?
https://www.youtube.com/watch?v=B7FGIFCyVEs
4. Deploying the Networking TS - Robert Leahy - CppCon 2021
https://www.youtube.com/watch?v=Qa6VDymDAr0
5. Beyond struct: Meta-programming a struct Replacement in C++20 - John Bandela - CppCon 2021 cm reflection
https://www.youtube.com/watch?app=desktop&v=FXfrojjIo80
6. SIMD in C++20: eve of a new era - Joel Falcou & Denis Yaroshevskiy
https://www.youtube.com/watch?v=XAqMBLGJeXY
7. ++namedtuple - Python-style Named Tuples in C++20 - Kris Jusiak - CppCon 2021
https://www.youtube.com/watch?v=4PwNi0Zgmm0
8. Keynote: C++'s Superpower - Matt Godbolt - CPPP 2021
https://www.youtube.com/watch?v=0_UttFDnV3k
9. Interactive C++ for Data Science - Vassil Vassilev - CppCon 2021
https://www.youtube.com/watch?v=23E0S3miWB0
================================================
FILE: 2022/articles-videos/220225.md
================================================
## Articles & Papers
1. Vector of Objects vs Vector of Pointers
https://www.cppstories.com/2014/05/vector-of-objects-vs-vector-of-pointers/
2. Ways to Refactor Toggle/Boolean Parameters in C++
https://www.cppstories.com/2017/03/on-toggle-parameters/
3. Dynamic and Static Polymorphism
https://www.modernescpp.com/index.php/dynamic-and-static-polymorphism
4. Three C++23 features for common use
https://mariusbancila.ro/blog/2022/01/17/three-cpp23-features-for-common-use/
5. Supervising in C++: how to make your programs reliable
https://basiliscos.github.io/blog/2022/02/20/supervising-in-c-how-to-make-your-programs-reliable/
6. COM asynchronous interfaces, part 6: Learning about completion without polling
https://devblogs.microsoft.com/oldnewthing/20220221-42/?p=106275
COM asynchronous interfaces, part 7: Being called directly when the operation completes
https://devblogs.microsoft.com/oldnewthing/20220222-00/?p=106279
COM asynchronous interfaces, part 8: Asynchronous release, the problems
https://devblogs.microsoft.com/oldnewthing/20220223-00/?p=106282
7. A Mock QCanBusDevice for TDD
https://embeddeduse.com/2022/02/21/a-mock-qcanbusdevice-for-tdd/
8. My favorite C++20 feature
https://schneide.blog/2022/02/21/my-favorite-c20-feature/
9. Returning values and errors
https://rachelbythebay.com/w/2022/02/20/return/
10. How to Use C++20 Modules with Bazel and Clang
https://buildingblock.ai/cpp20-modules-bazel
11. Projections are Function Adaptors
https://brevzin.github.io/c++/2022/02/13/projections-function-adaptors/
12. A Good Way to Handle Errors Is To Prevent Them from Happening in the First Place
https://www.fluentcpp.com/2022/02/25/a-good-way-to-handle-errors-is-to-prevent-them-from-happening-in-the-first-place/
## Videos
1. Cracking the C0dez: Reversing C++, Structs & Stack Frames with Ghidra - Full CrackMe Walkthrough
https://www.youtube.com/watch?v=re6rmkSUvtM
2. Testing Compile-time Constructs in a Runtime Unit Testing Framework - Igor Bogoslavskyi - CppCon 21
https://www.youtube.com/watch?v=hMn_dCae00g
3. C++ Weekly - Ep 312 - Stop Using `constexpr` (And Use This Instead!)
https://www.youtube.com/watch?v=4pKtPWcl1Go
4. Guy Davidson - Everything you know about colour is wrong - Meeting C++ online
https://www.youtube.com/watch?v=_zQ_uBAHA4A
5. Design of a C++ reflection API - Matúš Chochlík - Meeting C++ online
https://www.youtube.com/watch?v=mPtWMXxWoEg
6. Sums, Products, Exponents, Monoids, Functors, Oh My! - Steve Downey - CppCon 2021
https://www.youtube.com/watch?v=FrPzW8U7O6o
7. A Crash Course in Calendars, Dates, Time, and Time Zones - Marc Gregoire - CppCon 2021
https://www.youtube.com/watch?v=mpteQ9wWOQA
8. Guy Davidson - Everything you know about colour is wrong - Meeting C++ online
https://www.youtube.com/watch?v=_zQ_uBAHA4A
9. Design Idioms from an Alternate Universe - Ivan Čukić - CppCon 2021
https://www.youtube.com/watch?v=nw20sMc3LD0
10. Introduction to memory exploitation - Patricia Aas - Meeting C++ 2021
https://www.youtube.com/watch?v=s18lHhN-NXc
11. The Basics of Profiling - Mathieu Ropert - CppCon 2021
https://www.youtube.com/watch?v=dToaepIXW4s
12. SFINAE: Substitution Failure is not an Error | Top-Up C++ [C++ #02]
https://www.youtube.com/watch?app=desktop&v=mNxAqLVIaW0&feature=youtu.be&ab_channel=WolfSound
================================================
FILE: 2022/articles-videos/220304.md
================================================
## Articles & Papers
1. Visualising Module Dependencies with CMake and Graphviz
https://embeddeduse.com/2022/03/01/visualising-module-dependencies-with-cmake-and-graphviz/
2. A destructor, =default, and the move operations
https://andreasfertig.blog/2022/03/a-destructor-default-and-the-move-operations/
3. wordlexpr: compile-time wordle in c++20
https://vittorioromeo.info/index/blog/wordlexpr.html
cm https://www.youtube.com/watch?v=wp3LPrhu2Sk
4. Zero-cost exceptions aren’t actually zero cost
https://devblogs.microsoft.com/oldnewthing/20220228-00/?p=106296
5. C++ header files and inter-class connections
https://rachelbythebay.com/w/2022/02/26/include/
6. Curious lack of sprintf scaling
https://aras-p.info/blog/2022/02/25/Curious-lack-of-sprintf-scaling/
7. Mocking virtual functions with gMock
https://www.sandordargo.com/blog/2022/03/02/mocking-non-virtual-and-free-functions
8. 3 interesting behaviors of C++ casts
https://belaycpp.com/2022/03/02/3-interesting-behaviors-of-c-casts/
9. Picking Fairly From a List of Unknown Size With Reservoir Sampling
https://blog.demofox.org/2022/03/01/picking-fairly-from-a-list-of-unknown-size-with-reservoir-sampling/
## Videos
1. C++ Weekly - Ep 313 - The `constexpr` Problem That Took Me 5 Years To Fix!
https://www.youtube.com/watch?v=ABg4_EV5L3w
2. Generic Graph Libraries in C++20 - Andrew Lumsdaine & Phil Ratzloff - CppCon 2021
https://www.youtube.com/watch?v=Yk21tYLnzD8
3. More about Dynamic and Static Polymorphism
http://www.modernescpp.com/index.php/more-about-dynamic-and-static-polymorhism
4. Arno Lepisk: Testing non-compiling code
https://www.youtube.com/watch?v=02Hu0amx-5Y
5. Ever Closer - C23 Draws Nearer
https://thephd.dev/ever-closer-c23-improvements
6. Back to Basics: Classic STL - Bob Steagall - CppCon 2021
https://www.youtube.com/watch?v=tXUXl_RzkAk
7. The Factory Pattern - Mike Shah - CppCon 2021
https://www.youtube.com/watch?v=4xrNtB60g0g
8. How I made a DOCUMENTATION WEBSITE for my Game Engine
https://www.youtube.com/watch?v=tJDof3nrfHU
9. Back to Basics: Casting - Brian Ruth - CppCon 2021
https://www.youtube.com/watch?v=2h2hdRqRIRk
================================================
FILE: 2022/articles-videos/220311.md
================================================
## Articles & Papers
1. Modern C++ In-Depth — Move Semantics, Part 1
https://medium.com/factset/modern-c-in-depth-move-semantics-part-1-8a29d33944e4
2. Code golfing: Optimizing code to darken a bitmap, part 1
https://devblogs.microsoft.com/oldnewthing/20220307-00/?p=106317
3. Mixins td see shared_from_this
http://www.modernescpp.com/index.php/mixins
4. Mocking non-virtual and free functions with gMock
https://www.sandordargo.com/blog/2022/03/09/mocking-non-virtual-and-free-functions
5. Optimizing code to darken a bitmap, part 1
https://devblogs.microsoft.com/oldnewthing/20220307-00/?p=106317
Optimizing code to darken a bitmap, part 2
https://devblogs.microsoft.com/oldnewthing/20220308-00/?p=106321
Optimizing code to darken a bitmap, part 3
https://devblogs.microsoft.com/oldnewthing/20220309-00/?p=106331
Optimizing code to darken a bitmap, part 4
https://devblogs.microsoft.com/oldnewthing/20220310-00/?p=106335
6. TIL: nullopt_t is not equality-comparable, but monostate is
https://quuxplusone.github.io/blog/2022/03/07/monostate-vs-nullopt/
7. Bannalia: trivial notes on themes diverse
http://bannalia.blogspot.com/2022/03/emulating-template-named-arguments-in.html
8. Emulating template named arguments in C++20
http://bannalia.blogspot.com/2022/03/emulating-template-named-arguments-in.html
## Videos
1. Daniela Engert - A short tour of C++ Modules - Modules demystified and applied - Meeting C++ 2021
https://www.youtube.com/watch?v=35SlLAGLRIA
2. Inbal Levi - Smart Pointers and RAII - Meeting C++ online
https://www.youtube.com/watch?v=XU-dujj72SM
3. Introduction to memory exploitation - Patricia Aas - Meeting C++ 2021
https://www.youtube.com/watch?v=s18lHhN-NXc
4. C++ Weekly - Ep 314 - Every Possible Way To Force The Compiler To Do Work At Compile-Time in C++
https://www.youtube.com/watch?v=UdwdJWQ5o78
5. A Case-study in Rewriting a Legacy GUI Library for Real-time Audio Software in Modern C++
https://www.youtube.com/watch?v=90I0hH5-r5A
================================================
FILE: 2022/articles-videos/220320.md
================================================
## Articles & Papers
1. To Save C, We Must Save ABI
https://thephd.dev/to-save-c-we-must-save-abi-fixing-c-function-abi
2. Code It Yourself: Generate All the Combinations from Several Collections
https://www.fluentcpp.com/2022/03/14/code-it-yourself-generate-all-the-combinations-from-several-collections/
3. C++ UI Libraries
https://philippegroarke.com/posts/2018/c++_ui_solutions/
4. Avoiding Temporaries with Expression Templates
https://www.modernescpp.com/index.php/avoiding-temporaries-with-expression-templates
5. Making our multiple-interface query more C++-like, part 1
https://devblogs.microsoft.com/oldnewthing/20220317-00/?p=106359
Making our multiple-interface query more C++-like, part 2
https://devblogs.microsoft.com/oldnewthing/20220318-00/?p=106362
6. New C++23 range adaptors
https://mariusbancila.ro/blog/2022/03/16/new-cpp23-range-adaptors/
7. C++ basics: Pointers vs iterators
https://www.sandordargo.com/blog/2022/03/16/iterators-vs-pointers
8. Top 10 secure C++ coding practices
https://www.incredibuild.com/blog/top-10-secure-c-coding-practices
9. Optimizing return values
https://marcofoco.com/optimizing-return-values/
10. How to add thousands of lights to your renderer and not die in the process
http://www.zyanidelab.com/how-to-add-thousands-of-lights-to-your-renderer/
11. Visual Studio for remote macOS C++ development
https://devblogs.microsoft.com/cppblog/visual-studio-for-remote-macos-c-development/
12. C++ Modules in CMake with Visual Studio
https://devblogs.microsoft.com/cppblog/cpp20-modules-in-cmake-with-vs/
13. How to Generate All the Combinations from Several Collections
https://www.fluentcpp.com/2022/03/18/how-to-generate-all-the-combinations-from-several-collections/
## Videos
1. Multi Threading Model in Paradox Games: Past, Present and Future - Mathieu Ropert - CppCon 2021
https://www.youtube.com/watch?v=e_2z7uWouuk
2. Debugging Assembly Language and GPU Kernels in Visual Studio Code - Julia Reid - CppCon 2021
https://www.youtube.com/watch?v=A1Pu1yXfI94
3. Custom Views for the Rest of Us - Jacob Rice - CppCon 2021
https://www.youtube.com/watch?v=P9XXJuAYhMQ
4. GCC Explorer: A utility for exploring GCC error logs
https://www.youtube.com/watch?v=cKLPlHHa7vk
5. C++ Weekly - Ep 315 - constexpr vs static constexpr
https://www.youtube.com/watch?v=IDQ0ng8RIqs
================================================
FILE: 2022/articles-videos/220327.md
================================================
## Articles & Papers
1. Nvidia: ‘We Are A Quantum Computing Company’
https://www.insidequantumtechnology.com/news-archive/nvidia-we-are-a-quantum-computing-company/
2. SFINAE, Immediate Context, Operator << and '\n'
https://www.cppstories.com/2022/sfinea-immediate-context/
3. Minimum viable declarative GUI in C++
https://ossia.io/posts/minimum-viable/
4. Quirks of C
https://gist.github.com/fay59/5ccbe684e6e56a7df8815c3486568f01
5. Why does C++/WinRT say that first_interface is not a member of winrt::impl::interface_list<>?
https://devblogs.microsoft.com/oldnewthing/20220323-00/?p=106378
6. Injected class names: The C++ feature you didn’t even realize that you were using
https://devblogs.microsoft.com/oldnewthing/20220321-00/?p=106367
7. Policy
https://www.modernescpp.com/index.php/policy-and-traits
8. Behind C++/WinRT: How does C++/WinRT get the list of implemented interfaces?
https://devblogs.microsoft.com/oldnewthing/20220325-00/?p=106384
9. How to Generate All the Combinations from Several Collections
https://www.fluentcpp.com/2022/03/18/how-to-generate-all-the-combinations-from-several-collections/
10. Runtime Polymorphism with std::variant and std::visit
https://www.cppstories.com/2020/04/variant-virtual-polymorphism.html/
## Videos
1. Using Clang LibASTMatchers for Compliance in Codebases - Jonah Jolley - CppCon 2021
https://www.youtube.com/watch?v=icvNkYextOo
2. C++ Best Practices Game Jam #1 - Starts April 1, 2022 - Info, Rules and Quick-Start
https://www.youtube.com/watch?v=4V4ZrB3o6g4
3. How Can Package Managers Handle ABI (In)compatibility in C++? - Todd Gamblin - CppCon 2021
https://www.youtube.com/watch?v=gWe2K_oCp6A
4. Finding Bugs Using Path-Sensitive Static Analysis - Gabor Horvath - CppCon 2021
https://www.youtube.com/watch?v=B3kUHgTsbxc
5. C++ Weekly - Ep 316 - What Are `const` Member Functions?
https://www.youtube.com/watch?v=bqd9ILyQRxQ
6. Quantum Computing for Computer Scientists
https://www.youtube.com/watch?v=F_Riqjdh2oM
================================================
FILE: 2022/articles-videos/220408.md
================================================
## Articles & Papers
1. The std::invoke function does more than invoke functions
https://devblogs.microsoft.com/oldnewthing/20220401-00/?p=106426
2. Converting integers to decimal strings faster with AVX-512
https://lemire.me/blog/2022/03/28/converting-integers-to-decimal-strings-faster-with-avx-512/
3. AUTOSAR C++ compliant deep learning inference with TensorRT
https://learnopencv.com/autosar-c-compliant-deep-learning-inference-with-tensorrt/?utm_source=rss&utm_medium=rss&utm_campaign=autosar-c-compliant-deep-learning-inference-with-tensorrt
4. [RFC] Lifetime annotations for C++
https://discourse.llvm.org/t/rfc-lifetime-annotations-for-c/61377
5. Storing references of pointers in containers in C++
https://www.sandordargo.com/blog/2022/03/30/vector-of-references-of-pointers
6. saturating_add vs. saturating_int – new function vs. new type?
https://www.foonathan.net/2022/03/behavior-function-type/
7. Divide & Conquer and Sets: The 114 C++ algorithms series
https://itnext.io/divide-conquer-and-sets-the-114-c-algorithms-series-d0085a38046e
8. C++20 Ranges: The Key Advantage - Algorithm Composition
https://www.cppstories.com/2022/ranges-composition/
9. C++20 Ranges, Projections, std::invoke and if constexpr
https://www.cppstories.com/2020/10/understanding-invoke.html/
10. Software Rasterization of 2 Billion Points in Real Time
https://www.cg.tuwien.ac.at/research/publications/2022/SCHUETZ-2022-PCC/
11. Automatic Serialization in C++ for Game Engines
https://indiegamedev.net/2022/03/28/automatic-serialization-in-cpp-for-game-engines/
12. Software Design with Traits and Tag Dispatching
http://www.modernescpp.com/index.php/softwaredesign-with-traits-and-tag-dispatching
13. Metal in C++ with SDL2
https://schneide.blog/2022/03/28/metal-in-c-with-sdl2/
## Videos
1. Combining Co-Routines and Functions into a Job System - Helmut Hlavacs - CppCon 2021
https://www.youtube.com/watch?v=1ZMasi_9g_A
2. C++ Best Practices Game Jam #1 - Starts April 1, 2022 - Info, Rules and Quick-Start
https://www.youtube.com/watch?v=4V4ZrB3o6g4
3. C++23 Will Be Really Awesome
https://www.kdab.com/cpp23-will-be-really-awesome/
4. Maps in C++ (std::map and std::unordered_map)
https://www.youtube.com/watch?v=KiB0vRi2wlc
5. Building an Extensible Type Serialization System Using Partial Template Specialization - CppCon 2021
https://www.youtube.com/watch?v=-2Sda1-03i8
6. Advanced CPU Designs: Crash Course Computer Science #9
https://www.youtube.com/watch?v=rtAlC5J1U40
7. [MUC++] Sándor Dargó - Strongly typed containers
https://www.youtube.com/watch?v=QXE43Zqr_WM
8. Data Orientation For The Win! - Eduardo Madrid - CppCon 2021
https://www.youtube.com/watch?v=QbffGSgsCcQ
9. C++ Weekly - Ep 317 - Do You Really Understand Member Functions?
https://www.youtube.com/watch?v=4etjb2_KAaE
================================================
FILE: 2022/articles-videos/220505.md
================================================
## Articles & Papers
1. [How to quantify technical debt inflation](https://belaycpp.com/2022/04/06/how-to-quantify-technical-debt-inflation/)
2. [Design Patterns VS Design Principles: Abstract Factory](https://www.fluentcpp.com/2022/04/06/design-patterns-vs-design-principles-abstract-factory/)
3. [Use strong types instead of bool parameters](https://www.sandordargo.com/blog/2022/04/06/use-strong-types-instead-booleans)
4. [String representations are not unique: learn to normalize!](https://lemire.me/blog/2022/04/05/string-representations-are-not-unique-learn-to-normalize/)
5. [Please repeat yourself: The noexcept(noexcept(…)) idiom](https://devblogs.microsoft.com/oldnewthing/20220408-00/?p=106438)
6. [Using std::chrono](https://akrzemi1.wordpress.com/2022/04/11/using-stdchrono/)
7. [Three Benchmarks of C++20 Ranges vs Standard Algorithms](https://www.cppstories.com/2022/ranges-perf/)
8. [Pointers Are Complicated III, or: Pointer-integer casts exposed](https://www.ralfj.de/blog/2022/04/11/provenance-exposed.html)
9. [C++20 Ranges: The Key Advantage - Algorithm Composition](https://www.cppstories.com/2022/ranges-composition/)
10. [Type Erasure](http://www.modernescpp.com/index.php/type-erasure)
11. [N2966 Restartable and Non-Restartable Functions for Efficient Character Conversions](https://thephd.dev/_vendor/future_cxx/papers/C%20-%20Restartable%20and%20Non-Restartable%20Character%20Functions%20for%20Efficient%20Conversions.html)
12. [Metamorphic Fuzzing of C++ Libraries](http://www.doc.ic.ac.uk/~afd/homepages/papers/pdfs/2022/ICST.pdf)
13. [Unwrapping WinUI3 for C++](https://mariusbancila.ro/blog/2022/04/08/unwrapping-winui3-for-cpp/)
14. [C++20 Ranges Algorithms - 7 Non-modifying Operations](https://www.cppstories.com/2022/ranges-alg-part-one/)
15. [The 4 use of using in C++](https://www.sandordargo.com/blog/2022/04/27/the-4-use-of-using-in-cpp)
16. [Copy-Paste Developments](https://www.fluentcpp.com/2022/04/26/copy-paste-developments/)
17. [C++ Weekly - Ep 321 - April 2022 Best Practices Game Jam Results](https://www.youtube.com/watch?v=TQTb6ewowtk)
18. [Customizing GitHub Codespaces for C++ Projects](https://devblogs.microsoft.com/cppblog/customizing-github-codespaces-for-cpp-projects/)
19. [Local Time C++20](https://akrzemi1.wordpress.com/2022/04/24/local-time/)
20. [Define Concepts](http://www.modernescpp.com/index.php/define-concepts)
21. [Why Write an Empty finalize() Method?](https://stuartmarks.wordpress.com/2022/04/27/why-write-an-empty-finalize-method/)
22. [A Dataset and Explorer for 3D Signed Distance Functions](https://tovacinni.github.io/sdf-explorer/)
23. [CTwik : General Purpose Hot Patcher For C++](https://mohitmv.github.io/blog/CTwik-General-Purpose-Hot-Patcher-For-Cpp/)
24. [Three Benchmarks of C++20 Ranges vs Standard Algorithms](https://www.cppstories.com/2022/ranges-perf/)
25. [Trying to create a factory that remembers the parameters to pass to another method](https://devblogs.microsoft.com/oldnewthing/20220422-00/?p=106516)
26. [A friendly introduction to machine learning compilers and optimizers](https://huyenchip.com/2021/09/07/a-friendly-introduction-to-machine-learning-compilers-and-optimizers.html)
27. [Left folds and other reductions: The 114 C++ algorithms series](https://itnext.io/left-folds-and-other-reductions-the-114-c-algorithms-series-6195724d324)
28. [Faster GDB Startup](https://tromey.com/blog/?p=1084)
29. [Class template argument deduction may be the new hotness, but we’ll always have maker functions](https://devblogs.microsoft.com/oldnewthing/20220420-00/?p=106506)
30. [Changing std::sort at Google’s Scale and Beyond](https://danlark.org/2022/04/20/changing-stdsort-at-googles-scale-and-beyond/)
31. [Defining Concepts with Requires Expressions](http://www.modernescpp.com/index.php/defining-concepts-with-requires-expressions)
32. [Move semantics and rvalue references: Modern C++ fundamentals](https://medium.com/@simontoth/move-semantics-and-rvalue-references-modern-c-fundamentals-cbbe38760c05)
33. [HTTP GET requests with Qt and in Qml (async)](https://raymii.org/s/tutorials/HTTP_GET_requests_in_Qt_and_Qml_async.html?utm_medium=rss&utm_source=raymii&utm_campaign=mainfeed)
34. [What’s up with std::piecewise_construct and std::forward_as_tuple?](https://devblogs.microsoft.com/oldnewthing/20220428-00/?p=106540)
35. [Episode 75: C++ Algorithms with Ben Deane (Part 1)](https://adspthepodcast.com/2022/04/29/Episode-75.html)
36. [Building a CI Pipeline with CTest and CDash](https://embeddeduse.com/2022/05/02/building-a-ci-pipeline-with-ctest-and-cdash/)
37. [Comparing Memory Sanitizers](https://julienjorge.medium.com/comparing-memory-sanitizers-d4a944120418)
38. [Using Requires Expression in C++20 as a Standalone Feature](http://www.modernescpp.com/index.php/using-requires-expression-in-c-20-as-a-standalone-feature)
39. [Qt Extending the range of time](https://www.qt.io/blog/extending-the-range-of-time-zones)
## Videos
1. [Lightning Talk: Upgrading The Compiler Isn't Free - Andre Kostur - CppCon 2021](https://www.youtube.com/watch?v=bXx3-drA_oI)
2. [Lightning Talk: Zen and the Art of Software Maintenance - Sam Sobell - CppCon 2021](https://www.youtube.com/watch?v=Uth16GN0j0k)
3. [Lightning Talk: That's a @meta rotate! - Kris Jusiak - CppCon 2021](https://www.youtube.com/watch?v=B-iQaI8NCl0)
4. [Lightning Talk: You Too Can Have Fun with Ray Tracing! - Jeff Amstutz - CppCon 2021](https://www.youtube.com/watch?v=LEeuOYAtMws)
5. [TermBreaker: C++ terminal game](https://www.youtube.com/watch?v=z6RpuJuTbD8)
6. [Lightning Talk: Using the IFC Specification - Cameron DaCamara - CppCon 2021](https://www.youtube.com/watch?v=57kPSjSSZX8)
7. [Lightning Talk: The Process Is The Problem - Ben Deane - CppCon 2021](https://www.youtube.com/watch?v=UsatcY5CvAQ)
8. [Lightning Talk: The Most Important Design Guideline - Jeff Amstutz - CppCon 2021](https://www.youtube.com/watch?v=SsWzdF9WvOY)
9. [Lightning Talk: Bridging Arenas & GC - Joshua Haberman - CppCon 2021](https://www.youtube.com/watch?v=sP2M1ceYN9E)
10. [Decorator Pattern Explained (in C++)](https://www.youtube.com/watch?v=jtSCsHlvoa0)
11. [Live coding: some work on Compiler Explorer (day 3 of 5)](https://www.youtube.com/watch?v=eFksPtYxCn0)
12. [Lightning Talk: Quantum Interpretations of the C++ Object Model - David Stone - CppCon 2021](https://www.youtube.com/watch?v=hWPohuUR0e4)
13. [Denis Yaroshevskiy - my first SIMD - Meeting C++ online](https://www.youtube.com/watch?v=d6NcnyXjc3I)
14. [Lightning Talk: Direct Aggregate Initialisation - Timur Doumler - CppCon 2021](https://www.youtube.com/watch?v=flLNi0aejew)
15. [Lightning Talk: Memoizing Constexpr Programs - Chris Philip - CppCon 2021](https://www.youtube.com/watch?v=wFRlUNSMK8s)
16. [Lightning Talk: Curry-Howard Correspondence - Jefferson Carpenter - CppCon 2021](https://www.youtube.com/watch?v=10w1VwtIrq8)
17. [Welcome to Ray Tracing](https://www.youtube.com/watch?v=gfW1Fhd9u9Q)
18. [C++ Weekly - Ep 322 - Top 4 Places To Never Use `const` ](https://www.youtube.com/watch?v=dGCxMmGvocE)
19. [Lightning Talk: Is My Cat Turing-Complete? - Chloé Lourseyre - CppCon 2021](https://www.youtube.com/watch?v=RtqTGSOdmBo)
20. [Lightning Talk: Better Support For Emotive Programming in C++ - Pablo Halpern - CppCon 2021](https://www.youtube.com/watch?v=dfN9syWIEsg)
21. [C++ Weekly - Ep 319 - A JSON To C++ Converter](https://www.youtube.com/watch?v=HROQPE59q_w)
================================================
FILE: 2022/articles-videos/220521.md
================================================
## Articles & Papers
1. [Fast bitset decoding using Intel AVX-512](https://lemire.me/blog/2022/05/06/fast-bitset-decoding-using-intel-avx-512/)
2. [On awaiting a task with a timeout in C++/WinRT](https://devblogs.microsoft.com/oldnewthing/20220506-00/?p=106602)
3. [Derivatives in compute shader](https://wickedengine.net/2022/05/08/derivatives-in-compute-shader/)
4. [Mysterious Memset](https://vector-of-bool.github.io/2022/05/11/char8-memset.html)
5. [Sort an Array in Descending Order in C++](https://thispointer.com/sort-an-array-in-descending-order-in-c/)
6. [Speeding up Pattern Searches with Boyer-Moore Algorithm from C++17](https://www.cppstories.com/2018/08/searchers/)
7. [6 Ways to Refactor new/delete into unique ptr](https://www.cppstories.com/2021/refactor-into-uniqueptr/)
8. [C++20 coroutines explained simply](https://nmilo.ca/blog/coroutines.html)
9. [Structured Bindings with Qt SQL](https://www.kdab.com/structured-bindings-with-qt-sql/)
10. [Visualizing Performance-Critical Dependency Chains.](https://easyperf.net/blog/2022/05/11/Visualizing-Performance-Critical-Dependency-Chains)
11. [C++20 Coroutines back to basics — Restrictions and rules for legal coroutines](https://ggulgulia.medium.com/c-20-coroutines-back-to-basics-336897a85a4b)
12. [Adventures with string_view: Optimizing Code with O(1) Operations](https://blogs.msmvps.com/gdicanio/2022/04/15/adventures-with-string_view-optimizing-code-with-o1-operations/)
13. [C++20 Ranges Algorithms - 11 Modifying Operations](https://www.cppstories.com/2022/ranges-alg-part-two/)
14. [How to Store an lvalue or an rvalue in the Same Object](https://www.fluentcpp.com/2022/05/16/how-to-store-an-lvalue-or-an-rvalue-in-the-same-object/)
15. [How can I synthesize a C++20 three-way comparison from two-way comparisons?](https://devblogs.microsoft.com/oldnewthing/20220516-52/?p=106661)
16. [C++ Templates – A detailed overview](https://thecppdev.com/2022/05/16/templates-in-c-a-detailed-overview/?amp=1)
## Videos
1. [Lightning Talk: Love Code Reviews? Try Pair Programming Instead - Ankur Satle - CppCon 2021](https://www.youtube.com/watch?v=udUwDk5YW7Q)
2. [C++ Weekly - Ep 323 - C++23's auto{} and auto()](https://www.youtube.com/watch?v=5zVQ50LEnuQ)
3. [Visitor Pattern and Multiple-Dispatch Explained (in C++)](https://www.youtube.com/watch?v=IodTf-Yw4yc)
4. [Design Patterns - Facts and Misconceptions](https://www.youtube.com/watch?v=u5EAJTHPJN8)
5. [Writing a Network Client with POCO](https://www.youtube.com/watch?v=rRR9RTUEn4k)
6. [C++ Weekly - Ep 324 - C++20's Feature Test Macros](https://www.youtube.com/watch?v=4Bf8TmbibXw)
7. [C++ Insights - Episode 26: if and switch with initialization](https://www.youtube.com/watch?v=0rafC-8qZT0)
================================================
FILE: 2022/articles-videos/220529.md
================================================
**Articles & Papers**
1. [STRUCTURED CONCURRENCY IN C++](https://www.accu.org/journals/overload/30/168/teodorescu/)
2. [Parsing JSON faster with Intel AVX-512](https://lemire.me/blog/2022/05/25/parsing-json-faster-with-intel-avx-512/)
3. [Assignment for `optional<T>`](https://brevzin.github.io/c++/2022/05/24/optional-assignment/)
4. [Branch/cmove and compiler optimizations](https://kristerw.github.io/2022/05/24/branchless/)
5. [C++23: Literal suffix for (signed) size_t](https://www.sandordargo.com/blog/2022/05/25/literal_suffix_for_signed_size_t)
6. [Testing 3 Approaches for Optimizing the Performance of C++ Apps: LTO, PGO, and Unity Builds](https://blog.jetbrains.com/clion/2022/05/testing-3-approaches-performance-cpp_apps/)
7. [Compiling QML to C++: Making types visible](https://www.qt.io/blog/compiling-qml-to-c-making-types-visible)
8. [P0792r9 `function_ref`: a type-erased callable reference](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p0792r9.html)
9. [2022-05 Mailing Available](https://isocpp.org/blog/2022/05/2022-05-mailing-available)
10. [Compiler Explorer的十年历史](https://xania.org/202206/happy-birthday-ce)
**Videos**
1. [C++ Weekly - Ep 325 - Why vector of bool is Weird](https://www.youtube.com/watch?v=OP9IDIeicZE)
2. [C++20 Concepts - WE HAVE TO RETHINK WHAT WE DID IN THE PAST](https://www.youtube.com/watch?v=XOMv4VilN50)
================================================
FILE: 2022/articles-videos/220607.md
================================================
**Articles & Papers**
1. [Automated instance construction in C++](https://schneide.blog/2022/06/02/automated-instance-construction-in-c/)
2. [The Ranges Library in C++20: More Details](http://www.modernescpp.com/index.php/the-ranges-library-in-c-20-a-deep-dive)
3. [Projections with Ranges](https://www.modernescpp.com/index.php/projections-with-ranges)
4. [C++23: Consteval if to make compile time programming easier](https://www.sandordargo.com/blog/2022/06/01/cpp23-if-consteval)
5. [Technique: Recursive variants and boxes](https://www.foonathan.net/2022/05/recursive-variant-box/)
6. [Retrofitting Temporal Memory Safety on C++](https://security.googleblog.com/2022/05/retrofitting-temporal-memory-safety-on-c.html "Retrofitting Temporal Memory Safety on C++")
7. [Design Patterns VS Design Principles: Factory method](https://www.fluentcpp.com/2022/06/05/design-patterns-vs-design-principles-factory-method/)
8. [C++20’s parenthesized aggregate initialization has some downsides](https://quuxplusone.github.io/blog/2022/06/03/aggregate-parens-init-considered-kinda-bad/)
9. [Vectorized and performance-portable Quicksort](https://opensource.googleblog.com/2022/06/Vectorized%20and%20performance%20portable%20Quicksort.html)
10. [Destructors and noexcept](https://andreasfertig.blog/2022/06/destructors-and-noexcept/)
11. [Data structure size and cache-line accesses](https://lemire.me/blog/2022/06/06/data-structure-size-and-cache-line-accesses/)
**Videos**
1. [Episode 80: C++ Multidimensional Arrays and GPUs](https://adspthepodcast.com/2022/06/03/Episode-80.html)
2. [C++ Weekly - Ep 326 - C++23's Deducing `this`](https://www.youtube.com/watch?v=5EGw4_NKZlY)
3. [Patrice Roy - Slowing Down to be Faster - C++ and Divisible Algorithms in Real-Time Systems](https://www.youtube.com/watch?v=wqCdlpj68N4)
4. [C++ Weekly - Ep 327 - C++23's Multidimensional Subscript Operator Support](https://www.youtube.com/watch?v=g4aNGgLzVqw)
================================================
FILE: 2022/articles-videos/220616.md
================================================
## Articles & Papers
1. [Use compiler flags for stack protection in GCC and Clang](https://developers.redhat.com/articles/2022/06/02/use-compiler-flags-stack-protection-gcc-and-clang#)
2. [Modern C++ In-Depth — Perfect Forwarding](https://medium.com/factset/modern-c-in-depth-perfect-forwarding-570f242261f8)
3. [Formal-Methods-Based Bugfinding for LLVM’s AArch64 Backend](https://blog.regehr.org/archives/2265)
4. [Smart pointers and their deleters](https://www.sandordargo.com/blog/2022/06/08/smart-pointers-and-deleters)
5. [MSVC Backend Updates in Visual Studio 2022 version 17.2](https://devblogs.microsoft.com/cppblog/msvc-backend-updates-in-visual-studio-2022-version-17-2/)
6. [C++20 Ranges Algorithms - sorting, sets, other and C++23 updates](https://www.cppstories.com/2022/ranges-alg-part-three/)
7. [Improved Iterators with Ranges](https://www.modernescpp.com/index.php/improved-iterators-with-ranges)
8. [Compiling QML to C++: Untangling dependencies](https://www.qt.io/blog/compiling-qml-to-c-untangling-dependencies)
9. [50 terrible coding tips for a C++ developer](https://pvs-studio.com/en/blog/posts/cpp/0953/)
10. [Implementing Parallel copy_if in C++](https://www.cppstories.com/2021/par-copyif/)
11. [C++20 BENEFITS: CONSISTENCY WITH RANGES](https://accu.org/journals/overload/30/167/fertig/)
## Videos
1. [C++ Weekly - Ep 328 - Recursive Lambdas in C++23](https://www.youtube.com/watch?v=hwD06FNXndI)
2. [A gentle introduction to gRPC in C++ (Marco Arena)](https://www.youtube.com/watch?v=uZUJOsR8pYM)
3. [C++ Insights - Episode 27: In-class member initialization](https://www.youtube.com/watch?v=50meLVrBY8k)
4. [Comparing ARM vs RISC-V vs x86_64 with GCC vs Clang](https://www.youtube.com/watch?v=NE_v4R1dPMA)
================================================
FILE: 2022/articles-videos/220627.md
================================================
## Articles & Papers
1. [C++23: Narrowing contextual conversions to bool](https://www.sandordargo.com/blog/2022/06/15/cpp23-narrowing-contextual-conversions-to-bool)
2. [Advancing the state of the art for `std::unordered_map` implementations](https://bannalia.blogspot.com/2022/06/advancing-state-of-art-for.html)
3. [Retrofitting Temporal Memory Safety on C++](https://v8.dev/blog/retrofitting-temporal-memory-safety-on-c++)
4. [C++ Smart Pointers Gotchas](https://www.cppstories.com/2013/02/smart-pointers-gotchas/)
5. [Instruction-level parallelism in practice: speeding up memory-bound programs with low ILP](https://johnysswlab.com/instruction-level-parallelism-in-practice-speeding-up-memory-bound-programs-with-low-ilp/)
6. [C xor C++ Programming](https://docs.google.com/document/d/16B36r0HksR0LqQAGLA1syYCtZvYaVC0hEF2D00ZAd0o/mobilebasic)
7. [Fun with Paths and URLs in QML](https://www.kdab.com/fun-with-paths-urls-in-qml/)
8. [How To Use std::visit With Multiple Variants and Parameters](https://www.cppstories.com/2018/09/visit-variants/)
9. [12 Different Ways to Filter Containers in Modern C++](https://www.cppstories.com/2021/filter-cpp-containers/)
## Videos
1. [C++ Weekly - Ep 329 - How LTO Easily Makes Your Program Faster](https://www.youtube.com/watch?v=9nzT1AFprYM)
2. [How to Use C++20 Coroutines for Networking - Jim Pascoe - ACCU 2022](https://www.youtube.com/watch?v=ZNttI_WswMU)
3. [Rust Features that I Want in C++ - David Sankel - CppNow 2022](https://www.youtube.com/watch?v=cWSh4ZxAr7E)
================================================
FILE: 2022/articles-videos/220708.md
================================================
## Articles & Papers
1. [C++23’s Deducing this: what it is, why it is, how to use it](https://devblogs.microsoft.com/cppblog/cpp23-deducing-this/)
2. [Undefined behavior in C is a reading error.](https://www.yodaiken.com/2021/05/19/undefined-behavior-in-c-is-a-reading-error/)
3. [The power of ref-qualifiers](https://andreasfertig.blog/2022/07/the-power-of-ref-qualifiers/)
4. [150. Concepts, UB, interview questions, Boost](https://cppclub.uk/meetings/2022/150/)
5. [Sanitizers in continuous integration](https://ngathanasiou.wordpress.com/2022/07/04/sanitizers-in-continuous-integration/)
6. [Pass-by-value vs Pass-by-reference](https://reductor.dev/cpp/2022/06/27/pass-by-value-vs-pass-by-reference.html)
7. [How can I write a coroutine that produces a result but keeps on running?](https://devblogs.microsoft.com/oldnewthing/20220707-00/?p=106843)
8. [Schneide Blog - Improved automated instance construction in C++](https://schneide.blog/2022/07/07/improved-automated-instance-construction-in-c/)
10. [Modernes C++ - The Advantages of Patterns](http://www.modernescpp.com/index.php/an-introduction-into-design-patterns)
## Videos
1. [Searching for Convergence in C++ Package Management - Bret Brown & Daniel Ruoso - CppNow 2022](https://www.youtube.com/watch?v=VCrLAmJWZFQ)
2. [The Nth Element: A Case Study - Kris Jusiak - CppNow 2022](https://www.youtube.com/watch?v=LfOh0DwTP00)
3. [Searching for Convergence in C++ Package Management - Bret Brown & Daniel Ruoso - CppNow 2022](https://www.youtube.com/watch?v=VCrLAmJWZFQ)
4. [Customization Methods: Connecting User And Library Code - Inbal Levi - CppNow 2022](https://www.youtube.com/watch?v=TpAPImt1vf0)
5. [Keynote: A Future of Value Semantics and Generic Programming Part 2 - Dave Abrahams - CppNow 2022](https://www.youtube.com/watch?v=GsxYnEAZoNI)
6. [C++Now YT - Top 5 Library Additions in C++23 - Jeff Garland - CppNow 2022](https://www.youtube.com/watch?v=ZSbLute3IUU)
7. [C++ Weekly - Ep 330 - Faster Builds with `extern template` (And How It Relates to LTO)](https://www.youtube.com/watch?v=pyiKhRmvMF4)
8. [C++ Weekly - Ep 331 - This Game Teaches C++!](https://www.youtube.com/watch?v=snQhhWE1xR4)
9. [C++20: The Small Pearls - Rainer Grimm - CppCon 2021](https://www.youtube.com/watch?v=xbkWH7A06X8&list=PLHTh1InhhwT6bY4nS4p7f5b_754myC3ze&index=40)
10. [Powerful Data Processing Pipelines with C++20 Coroutines - Andreas Weis - ACCU 2022](https://www.youtube.com/watch?v=KhGmOI478so)
11. [Documentation in the Era of Concepts and Ranges - Christopher Di Bella & Sy Brand - ACCU 2022](https://www.youtube.com/watch?v=IRqOHsNEKNE)
================================================
FILE: 2022/articles-videos/220722.md
================================================
## Articles & Papers
1. [Calculating SVD and PCA in C++](https://blog.demofox.org/2022/07/12/calculating-svd-and-pca-in-c/)
2. [(Non) Static Data Members Initialization, from C++11 till C++20](https://www.cppstories.com/2015/02/non-static-data-members-initialization/)
3. [Debugging C++ Coroutines](https://clang.llvm.org/docs/DebuggingCoroutines.html)
4. [VS2022 Performance Enhancements: Faster C++ Development](https://devblogs.microsoft.com/cppblog/vs2022-performance-enhancements-faster-c-development/)
5. [An example where `inline constexpr` makes a difference](https://quuxplusone.github.io/blog/2022/07/08/inline-constexpr/)
6. [How can I write a coroutine that produces a result but keeps on running?](https://devblogs.microsoft.com/oldnewthing/20220707-00/?p=106843)
7. [New std::optional Checks in Visual Studio 2022 version 17.3 Preview 3](https://devblogs.microsoft.com/cppblog/new-stdoptional-checks-in-visual-studio-2022-version-17-3-preview-3/)
8. [Upside Down Polymorphic Inheritance](https://blog.nickelp.ro/posts/p2162/)
9. [Five tricky topics for data members in C++20](https://www.cppstories.com/2022/five-topics-data-members-cpp20/)
## Videos
1. [Sandbox Games - Using WebAssembly and C++ to Make a Simple Game - Ólafur Waage - ACCU 2022](https://www.youtube.com/watch?v=N248809vu5g)
2. [The Basics of Profiling - Mathieu Ropert - ACCU 2022](https://www.youtube.com/watch?v=vqeXRFW26kg)
3. [Is Virtual of Value](https://www.youtube.com/watch?v=ZXx7C1D6CNo)
4. [Principia Mathematica: The Foundations of Arithmetic in C++ - Lisa Lippincott - CppNow 2022](https://www.youtube.com/watch?v=2OpcDKzrgtc)
5. [NVIDIA Special Address at Q2B: Defining the Quantum Accelerated Supercomputing Platform](https://www.youtube.com/watch?v=RzkssSPOG5Q)
6. [Many an `any` - Alisdair Meredith - ACCU 2022](https://www.youtube.com/watch?v=kb0dSbVbJ-s)
7. [A Practical Approach to Error Handling - Arno Schödl - CppNow 2022](https://www.youtube.com/watch?v=eKcmEalOBhs)
8. [Undefined Behavior in C++: A Performance Viewpoint - Fedor Pikus - CppNow 2022](https://www.youtube.com/watch?v=BbMybgmQBhU)
9. [Law of Demeter: A Practical Guide to Loose Coupling - Kris Jusiak - CppCon 2021](https://www.youtube.com/watch?v=QZkVpZlbM4U&list=PLHTh1InhhwT6bY4nS4p7f5b_754myC3ze&index=64)
================================================
FILE: 2022/articles-videos/220801.md
================================================
## Articles
1. [vcpkg July 2022 Release is Now Available: Shared Libraries on Linux, Improved vcpkg new, Optional name and version Fields, and More…](https://devblogs.microsoft.com/cppblog/vcpkg-july-2022-release-is-now-available-shared-libraries-on-linux-improved-vcpkg-new-optional-name-and-version-fields-and-more/)
2. [Custom types and std::format from C++20](https://www.cppstories.com/2022/custom-stdformat-cpp20/)
3. [Five tricky topics for data members in C++20](https://www.cppstories.com/2022/five-topics-data-members-cpp20/)
4. [C++20 concepts are structural: What, why, and how to change it?](https://www.foonathan.net/2021/07/concepts-structural-nominal/)
5. [Single-pass Parallel Prefix Scan with Decoupled Look-back](https://research.nvidia.com/sites/default/files/pubs/2016-03_Single-pass-Parallel-Prefix/nvr-2016-002.pdf)
6. [A view of 0 or 1 elements: views::maybe](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1255r8.pdf)
7. [Parallelising Huffman decoding and x86 disassembly by synchronising non-self-synchronising prefix codes](https://dougallj.wordpress.com/2022/07/30/parallelising-huffman-decoding-and-x86-disassembly-by-synchronising-non-self-synchronising-prefix-codes/)
8. [Comparing strtod with from_chars (GCC 12)](https://lemire.me/blog/2022/07/27/comparing-strtod-with-from_chars-gcc-12/)
9. [Round a direction vector to an 8-way compass](https://lemire.me/blog/2022/07/24/round-a-direction-vector-to-the-nearest-8-way-compass/)
10. [Carbon Reddit Thread](https://old.reddit.com/r/cpp/comments/w2t2zn/carbon_an_experimental_successor_to_c/)
11. [Carbon on Hacker News](https://news.ycombinator.com/item?id=32151609)
12. [Carbon’s most exciting feature is its calling convention](https://www.foonathan.net/2022/07/carbon-calling-convention/)
## Videos
1. [Carbon Language: An experimental successor to C++ - Chandler Carruth - CppNorth 2022](https://www.youtube.com/watch?v=omrY53kbVoA)
2. [Episode 88: The Carbon Programming Language](https://adspthepodcast.com/2022/07/29/Episode-88.html)
3. [Thoughts on Google Carbon](https://www.youtube.com/watch?v=av9-W17Lh60)
4. [Carbon Lang… The C++ killer?](https://www.youtube.com/watch?v=-bHK0qmp06c)
5. [CMake 2022 C++ Modules and More - Bill Hoffman - CppNow 2022](https://www.youtube.com/watch?v=hkefPcWySzI)
6. [The Age of Web3 Startups - David Taylor’s full keynote speech at TNW](https://www.youtube.com/watch?v=bkYwscEaZFc)
7. [C++ Standard Parallelism - Bryce Adelstein Lelbach - CppNow 2022](https://www.youtube.com/watch?v=QSaUCzL7nCU)
8. [C++ Weekly - Ep 334 - How to Put a Lambda in a Container](https://www.youtube.com/watch?v=qmd_yxSOsAE)
9. [Searching for Convergence in C++ Package Management - Bret Brown & Daniel Ruoso - CppNow 2022](https://www.youtube.com/watch?v=VCrLAmJWZFQ)
================================================
FILE: 2022/articles-videos/220808.md
================================================
## Articles
1. [Simplify Code with if constexpr and Concepts in C++17/C++20](https://www.cppstories.com/2018/03/ifconstexpr/)
2. [Beware CTAD on `reverse_iterator`](https://quuxplusone.github.io/blog/2022/08/02/reverse-iterator-ctad/)
3. [Building std::variant from scratch part 1](https://github.com/very-cool-name/blog-from-scratch/blob/master/part_i.md)
4. [C++20 Concepts in C++03](https://meghprkh.github.io/blog/posts/c++03-concepts/)
5. [Introducing Cute: RPC the way it was always meant to be](https://blog.cuteserver.io/introducing-cute-rpc-the-way-it-was-always-meant-to-be)
6. [5 Curious C++ Lambda Examples: Recursion, constexpr, Containers and More](https://www.cppstories.com/2020/07/lambdas5ex.html/)
7. [C23 is Finished: Here is What is on the Menu](https://thephd.dev/c23-is-coming-here-is-what-is-on-the-menu)
## Videos
1. [C++ Engine Code Generation and Auto Hot Reloading](https://www.youtube.com/watch?v=xC6WTFmvKCQ)
2. [C++20 ❤ SQL - John Bandela - CppCon 2021](https://www.youtube.com/watch?v=1AYrd9iLQCw)
3. [Exceptions the Other Way Round - Sean Parent - CppNow 2022](https://www.youtube.com/watch?v=mkkaAWNE-Ig)
4. [Circle Metaprogramming: Better Features Make Better Libraries - Sean Baxter - CppNow 2022](https://www.youtube.com/watch?v=15j4bkipuAg)
================================================
FILE: 2022/articles-videos/220829.md
================================================
## Articles
1. [Easy management of C++ libraries with vcpkg and CMake for Visual Studio 2022](https://nicobombace.com/c++/vcpkg/)
2. [Exploring Shaders with Compiler Explorer](https://www.jeremyong.com/shaders/gpus/assembly/2022/08/19/exploring-shaders-with-compiler-explorer/)
3. [About conditional breakpoints](https://www.meetingcpp.com/blog/items/About-conditional-breakpoints.html)
4. [Using the C++23 std::expected type](https://mariusbancila.ro/blog/2022/08/17/using-the-cpp23-expected-type/)
5. [proxy: Runtime Polymorphism Made Easier Than Ever](https://devblogs.microsoft.com/cppblog/proxy-runtime-polymorphism-made-easier-than-ever/)
6. [The simplest example of coroutines in C++20](https://dev.to/atimin/the-simplest-example-of-coroutines-in-c20-4l7a)
7. [C++20 Ranges — Complete Guide](https://itnext.io/c-20-ranges-complete-guide-4d26e3511db0)
8. [Rvalue Ranges and Views in C++20](https://tristanbrindle.com/posts/rvalue-ranges-and-views)
9. [Comparing Rust's and C++'s Concurrency Library](https://blog.m-ou.se/rust-cpp-concurrency/)
10. [The memory subsystem from the viewpoint of software: how memory subsystem affects software performance 1/3](https://johnysswlab.com/the-memory-subsystem-from-the-viewpoint-of-software-how-memory-subsystem-effects-software-performance-1-2/)
11. [Unclear handling for `using enum` with local enums in function templates](https://github.com/cplusplus/CWG/issues/113)
12. [bool - the simplest type?](https://meetingcpp.com/blog/items/bool---the-simplest-type-.html)
13. [C++ Coroutines: Understanding the Compiler Transform](https://lewissbaker.github.io/2022/08/27/understanding-the-compiler-transform)
14. [Implementing Qt Signals and Slots in Pure C++](https://embeddeduse.com/2022/08/28/implementing-qt-signals-and-slots-in-pure-c/)
15. [20+ Ways to Init a String, Looking for Sanity](https://www.cppstories.com/2022/init-string-options/)
## Videos
1. [Universal/Forwarding References - A Key to More Modern C++ - Nicolai Josuttis - C++ on Sea 2022](https://www.youtube.com/watch?v=k1Iz5u_IBZ4)
2. [Value Oriented Programming. Part 1: You Say You Want To Write A Function - Tony Van Eerd CppNorth 22](https://www.youtube.com/watch?v=rpCc-cfYa3k)
3. [C++ Weekly - Ep 337 - C23 Features That Affect C++ Programmers](https://www.youtube.com/watch?v=jOFrKN54M5g)
4. [An Introduction to Multithreading in C++20 - Anthony Williams - C++ on Sea 2022](https://www.youtube.com/watch?v=8mt076AtqYg)
5. [C++ Standard Parallelism - Bryce Adelstein Lelbach - C++ on Sea 2022](https://www.youtube.com/watch?v=cCOABV97zfA)
6. [C++ Insights - Episode 29: Using constructors from a base class in a derived class](https://www.youtube.com/watch?v=aFkKR6Rd_ug)
7. [San Diego 41 C++ group meetup #41](https://www.youtube.com/watch?v=svRj3iw7CFo)
8. [The Power Of Compile-Time Resources - Jason Turner - CppNorth 2022](https://www.youtube.com/watch?v=3aRZZxpJ_fc)
9. [5 Approaches to Remote C++ Development With CLion](https://www.youtube.com/watch?v=7qMk79sIv5U)
10. [A Practical Guide to Loose Coupling - Kris Jusiak - C++ on Sea 2022](https://www.youtube.com/watch?v=w46l_gG4xQU)
11. [Björn Fahller: Typical C++, but why?](https://www.youtube.com/watch?v=mdj__i_q3qs)
================================================
FILE: 2022/articles-videos/220918.md
================================================
## Articles
1. [inline – not what it used to be](https://vorbrodt.blog/2022/08/31/inline-not-what-it-used-to-be/)
2. [malloc() and free() are a bad API](https://www.foonathan.net/2022/08/malloc-interface/#content)
3. [Custom types and std::format from C++20](https://www.cppstories.com/2022/custom-stdformat-cpp20/)
4. [Microbenchmarking Is Tricky](https://lucisqr.substack.com/p/microbenchmarking-is-tricky)
5. [Comprehensive C++ Hashmap Benchmarks 2022](https://martin.ankerl.com/2022/08/27/hashmap-bench-01/)
6. [C++23: Preprocessing directives](https://www.sandordargo.com/blog/2022/09/07/prepocessive-directive-changes-in-cpp23)
7. [A moved from optional](https://akrzemi1.wordpress.com/2022/09/06/a-moved-from-optional/)
8. [Using std::unique_ptr With C APIs](https://eklitzke.org/use-unique-ptr-with-c-apis)
9. [Integer Conversions and Safe Comparisons in C++20](https://www.cppstories.com/2022/safe-int-cmp-cpp20/)
10. [Stop Measuring Time!](https://lucisqr.substack.com/p/stop-measuring-time)
11. [The Little Things: My ?radical? opinions about unit tests](https://codingnest.com/the-little-things-my-radical-opinions-about-unit-tests/)
## Videos
1. [Charts in Qt - Jens Weller - Meeting C++ online lightning talks](https://www.youtube.com/watch?v=oUrNOUt2BK0)
2. [Forward Progress in C++ - Olivier Giroux - CppNorth 2022](https://www.youtube.com/watch?v=CuWM-OrPitw)
3. [Corolib Distributed Programming with C++ coroutines - Johan Vanslembrouck - Meeting C++ online](https://www.youtube.com/watch?v=oPlBD9qSLo4)
4. [Lets Talk: Extend and Embed Python With C++ - Rainer Grimm - CppNorth 2022](https://www.youtube.com/watch?v=3Km19_JgQcc)
5. [Single entry, single exit - Miroslaw Opoka - Meeting C++ online lightning talks](https://www.youtube.com/watch?v=jNOmTkYj6fo)
6. [C++23's new function syntax? - Meeting C++ weekly blogroll highlight](https://www.youtube.com/watch?v=Ew5YfSl0Ycg)
7. [Make error handling the users problem - Søren Nissen - Meeting C++ online lightning talks](https://www.youtube.com/watch?v=ZMVnDPfFwYA)
8. [75 STL headers in under 10 minutes - Kilian Henneberger - Meeting C++ online lightning talks](https://www.youtube.com/watch?v=wjvzrcOTvIM)
9. [Keynote: The Tragedy of C++, Acts One & Two - Sean Parent - CppNorth 2022](https://www.youtube.com/watch?v=kZCPURMH744)
10. [Mathieu Ropert: Breaking Enigma With the Power of Modern C++](https://www.youtube.com/watch?v=uD9dqZBi-l4)
================================================
FILE: 2022/articles-videos/220926.md
================================================
## Articles
1. [C++23 - std::expected, the superior way of returning a value or an error](https://andreasfertig.blog/2022/09/cpp23-stdexpected-the-superior-way-of-returning-a-value-or-an-error/)
2. [The Future of C++ Compiler Diagnostics in MSVC and Visual Studio](https://devblogs.microsoft.com/cppblog/the-future-of-c-compiler-diagnostics-in-msvc-and-visual-studio/)
3. [Type safe - Zero overhead utilities for more type safety](https://www.foonathan.net/2016/10/type-safe/)
4. [C++ Weekly - Ep 342 - C++20's Ranges: A Quick Start](https://www.youtube.com/watch?v=sZy9XcGHmI4)
5. [Reducing Signed and Unsigned Mismatches with std::ssize()](https://www.cppstories.com/2022/ssize-cpp20/)
6. [The Singleton](https://www.modernescpp.com/index.php/creational-patterns-singleton)
7. [Lazy Initialisation in C++](https://www.cppstories.com/2019/10/lazyinit/)
8. [C++ initialization, arrays and lambdas oh my!](https://shafik.github.io/c++/2022/09/20/init-lambdas-array-ohmy.html)
9. [Optimizing compilers deduplicate strings and arrays](https://lemire.me/blog/2022/09/23/optimizing-compilers-deduplicate-strings-and-arrays/)
10. [Something I implemented today: “is void”](https://herbsutter.com/2022/09/25/something-i-implemented-today-is-void/)
11. [the sad state of debug performance in c++](https://vittorioromeo.info/index/blog/debug_performance_cpp.html)
12. [5 Ways to Improve or Avoid Loops in C++20...23](https://www.cppstories.com/2022/improve-loops-cpp2b/)
13. [C++20, How Hard Could It Be](https://docs.google.com/presentation/d/1HwLNSyHxy203eptO9cbTmr7CH23sBGtTrfOmJf9n0ug/edit?resourcekey=0-GH5F3wdP7D4dmxvLdBaMvw#slide=id.g12a6e17768a_0_72)
14. [Copy-on-write with Deducing `this`](https://brevzin.github.io/c++/2022/09/23/copy-on-write/)
## Videos
1. [C++ Weekly - Ep 341 - std format vs lib {fmt}](https://www.youtube.com/watch?v=zc6B-j0S9Iw)
2. [Lightning Talk: A std::fs::path From Bug to Patch - Dean Moldovan - CppNorth 2022](https://www.youtube.com/watch?v=-7ebQqzGRKE)
3. [Can C++ be 10x Simpler & Safer? - Herb Sutter - CppCon 2022](https://www.youtube.com/watch?v=ELeZAKCN4tY)
4. [QtDevCon22 – Low-code Qt apps with Design Studio and SCXML](https://www.youtube.com/watch?v=NP1w_hvT4_I)
5. [C++ Weekly - Ep 338 - Analyzing and Improving Build Times](https://www.youtube.com/watch?v=Iybb9wnpF00)
6. [Cerealization and RPC with Cap'n Proto](https://www.youtube.com/watch?v=6V_lVZzV6AE)
7. [Contractual Disappointment in C++ - John McFarlane - C++ on Sea 2022](https://www.youtube.com/watch?v=r0KI2GMtS1U)
8. [Episode 96: The K Programming Language](https://adspthepodcast.com/2022/09/23/Episode-96.html)
================================================
FILE: 2022/articles-videos/221002.md
================================================
## Articles
1. [What does the C++ error “A pointer to a bound function may only be used to call the function” mean?](https://devblogs.microsoft.com/oldnewthing/20220926-00/?p=107212)
2. [6 Efficient Things You Can Do to Refactor a C++ Project](https://www.cppstories.com/2020/08/6things-refactor.html/)
3. [How to Add Notes and Navigation Metadata Directly in Source Code in Visual Studio](https://www.cppstories.com/2020/04/vahashtags.html/)
4. [Getting up to speed with the latest Conan features](https://blog.conan.io/2022/09/28/upgrading-recipes-to-1.51.html)
5. [Text formatting in C++ using libc++](https://blog.llvm.org/posts/2022-08-14-libc++-format/)
6. [Guest post - An Extraterrestrial Guide to C++20 Text Formatting](http://ib-krajewski.blogspot.com/2022/09/guest-post-extraterrestrial-guide-to.html)
7. [A Brief Introduction To Clang-Tidy And Its Role in Visual Assist](https://blog.wholetomato.com/2021/01/08/a-brief-introduction-to-clang-tidy-and-its-role-in-visual-assist/)
8. [Using system package manager dependencies with vcpkg](https://devblogs.microsoft.com/cppblog/using-system-package-manager-dependencies-with-vcpkg/)
9. [New integer types I’d like to see](https://www.foonathan.net/2022/09/new-integer-types/)
10. [C++ initialization, arrays and lambdas oh my!](https://shafik.github.io/c++/2022/09/20/init-lambdas-array-ohmy.html)
11. [Static, Dynamic Polymorphism, CRTP and C++20’s Concepts](https://www.codingwiththomas.com/blog/c-static-dynamic-polymorphism-crtp-and-c20s-concepts)
## Videos
1. [C++ Weekly - Ep 343 - Digging Into Type Erasure](https://www.youtube.com/watch?v=iMzEUdacznQ)
2. [LightningTalk: lexy - C++ Parsing DSL Library - Jonathan Müller - C++ on Sea 2022](https://www.youtube.com/watch?v=d1gUfL7A1MA)
3. [Lightning Talk: An Object Model for Safety and Efficiency by Definition - Dave Abrahams CppNorth 22](https://www.youtube.com/watch?v=KGL02mSaplE)
4. [Episode 97: C++ vs Carbon vs Circle vs CppFront with Sean Baxter](https://adspthepodcast.com/2022/09/30/Episode-97.html)
================================================
FILE: 2022/articles-videos/221021.md
================================================
## Articles
1. [What happens when you press a key in your terminal?](https://jvns.ca/blog/2022/07/20/pseudoterminals/)
2. [Pages that didn't make it into "How DNS Works"](https://jvns.ca/blog/2022/05/10/pages-that-didn-t-make-it-into--how-dns-works-/)
3. [How Wine works 101](https://werat.dev/blog/how-wine-works-101/)
4. [Qt Creator 9 Beta released](https://www.qt.io/blog/qt-creator-9-beta-released)
5. [Ruslan Fomkin: Cassandra, accessing it and Astra DB from C++](https://www.youtube.com/watch?v=i1BWrs99qoY)
6. [The number of comparisons needed to sort a shuffled array: qsort versus std::sort](https://lemire.me/blog/2022/10/11/the-number-of-comparisons-needed-to-sort-a-shuffled-array-qsort-versus-stdsort/)
7. [All Major C++17 Features You Should Know](https://www.cppstories.com/2017/01/cpp17features/)
8. [The Wonderfully Terrible World of C and C++ Encoding APIs (with Some Rust)](https://thephd.dev/the-c-c++-rust-string-text-encoding-api-landscape)
9. [The case of the memory corruption from a coroutine that already finished](https://devblogs.microsoft.com/oldnewthing/20221014-00/?p=107287)
10. [Mastering String Transformations in RAPIDS libcudf](https://developer.nvidia.com/blog/mastering-string-transformations-in-rapids-libcudf/)
11. [The Bridge Pattern](http://www.modernescpp.com/index.php/the-bridge-pattern)
12. [The Adapter Pattern](http://www.modernescpp.com/index.php/the-adapter-pattern)
13. [Porting Slate to Qt for WebAssembly](https://www.qt.io/blog/porting-slate-to-qt-for-webassembly)
14. [Weekend update: Operator and parsing design notes,Sutter](https://herbsutter.com/2022/10/10/weekend-update-operator-and-parsing-design-notes/)
16. [Prefer core-language features over library facilities](https://quuxplusone.github.io/blog/2022/10/16/prefer-core-over-library/)
17. [Why is there a `make_unique`? Why not just overload the `unique_ptr` constructor?](https://devblogs.microsoft.com/oldnewthing/20221019-00/?p=107300)
## Videos
1. [LT: Improve Compile Time With One Weird Trick Template Meta Programmers Hate! - Luke Valenty CppNow](https://www.youtube.com/watch?v=qMUhJdhL2Uk)
2. [C++ Weekly - Ep 344 - decltype(auto): An Overview of How, Why and Where](https://www.youtube.com/watch?v=E5L66fkNlpE)
3. [C++ Weekly - Ep 345 - No Networking in C++20 or C++23! Now What?](https://www.youtube.com/watch?v=v6m70HyI0XE)
4. [C++ Weekly - Ep 346 - C++23's bind_back](https://www.youtube.com/watch?v=pDiP2frdMnI)
5. [Compile-time Initialization & Build Library for Composing Modular Firmware - Luke Valenty CppNow 22](https://www.youtube.com/watch?v=3DUJ7Dow1vk)
6. [How to make a 3D Level | C++ 3D Game Tutorial Series #35](https://www.youtube.com/watch?v=zfiSe6aH7n4)
7. [The Past, Present and Future of C++ Bjarne Stroustrup](https://alphalist.com/podcast/61-bjarne-stroustrup-creator-of-c-plus-plus)
8. [C++ in Constrained Environments - Bjarne Stroustrup - CppCon 2022](https://www.youtube.com/watch?v=2BuJjaGuInI)
9. [All major C++17 features you should know - Meeting C++ weekly blogroll highlight](https://www.youtube.com/watch?v=uffYzFixfLs)
10. [C++20’s Coroutines for Beginners - Andreas Fertig - CppCon 2022](https://www.youtube.com/watch?v=8sEe-4tig_A)
11. [Principia Mathematica - The Foundations of Arithmetic in C++ - Lisa Lippincott - CppCon 2022](https://www.youtube.com/watch?v=0TDBna3PWgY)
12. [Comparison Operators: Breaking Change in C++20](https://www.youtube.com/watch?v=flrQdAdCvVs)
================================================
FILE: 2022/articles-videos/221102.md
================================================
## Articles
1. [Is it true that raising a structured exception from a structured exception handler terminates the process?](https://devblogs.microsoft.com/oldnewthing/20221020-00/?p=107303)
2. [What happens if my C++ exception handler itself raises an exception?](https://devblogs.microsoft.com/oldnewthing/20221021-00/?p=107307)
3. [When life gives you lemons, write better error messages](https://scribe.rip/when-life-gives-you-lemons-write-better-error-messages-46c5223e1a2f)
4. [Interfaces and impls for C++ and dynamic type erasure](https://gist.github.com/seanbaxter/1d64c031a0072e11ff8c9966fdd972fd)
1. [Louis Dionne “Runtime Polymorphism: Back to the Basics”](https://www.youtube.com/watch?v=OtU51Ytfe04)
5. [What is faster: vec.emplace_back(x) or vec[x] ?](https://johnysswlab.com/what-is-faster-vec-emplace_backx-or-vecx/)
6. [Conan 2.0 Recipe Migrations in ConanCenterIndex](https://blog.conan.io/2022/10/26/Migrating-Recipes-Conan-v2-In-CCI.html)
7. [Four Cornerstones of CPU Performance.](https://easyperf.net/blog/2022/10/17/Four-Cornerstones-of-CPU-Performance)
8. [Why Coding Strategies with Coroutines?](https://lucisqr.substack.com/p/why-coroutines)
9. [How To Simplify Fuzz Testing For C++](https://www.code-intelligence.com/blog/simplify-fuzz-testing-for-cpp)
10. [How To Use std::visit With Multiple Variants and Parameters](https://www.cppstories.com/2018/09/visit-variants/)
11. [Stranger Strings: An exploitable flaw in SQLite](https://blog.trailofbits.com/2022/10/25/sqlite-vulnerability-july-2022-library-api/)
12. [Smaller C++20 Features - My Presentation](https://www.cppstories.com/2022/talk-smaller-cpp20/)
13. [C++20 Oxymoron: constexpr virtual](https://www.cppstories.com/2021/constexpr-virtual/)
14. [The evolution of statements with initializers in C++](https://www.sandordargo.com/blog/2022/10/26/statements-with-initializers-part-1-conditionals)
## Videos
1. [C++23 - What's In It For You? - Marc Gregoire - CppCon 2022](https://www.youtube.com/watch?v=b0NkuoUkv0M)
2. [Deciphering Coroutines - A Visual Approach - Andreas Weis - CppCon 2022](https://www.youtube.com/watch?v=J7fYddslH0Q)
3. [Why is there a make_unique? - Meeting C++ blogroll highlight](https://www.youtube.com/watch?v=O100NWjAOwk)
4. [Back to Basics: Templates in C++ - Nicolai Josuttis - CppCon 2022](https://www.youtube.com/watch?v=HqsEHG0QJXU)
5. [Functional Composable Operations with Unix-Style Pipes in C++ - Ankur Satle - CppCon 2022](https://www.youtube.com/watch?v=L_bomNazb8M)
6. [Deciphering C++ Coroutines - A Diagrammatic Coroutine Cheat Sheet - Andreas Weis - CppCon 2022](https://www.youtube.com/watch?v=J7fYddslH0Q)
7. [Back to Basics: Debugging in C++ - Mike Shah - CppCon 2022](https://www.youtube.com/watch?v=YzIBwqWC6EM)
================================================
FILE: 2022/articles-videos/221106.md
================================================
## Articles
1. [6 Ways to Refactor new/delete into unique ptr](https://www.cppstories.com/2021/refactor-into-uniqueptr/)
2. [The constexpr array size problem](https://brevzin.github.io/c++/2020/02/05/constexpr-array-size/)
3. [The pool of talented C++ developers is running dry](https://www.efinancialcareers.co.uk/news/2022/11/why-is-there-a-drought-in-the-talent-pool-for-c-developers)
4. [Maven on C++23](https://www.mavensecurities.com/maven-on-c23/)
5. [The evolution of statements with initializers in C++](https://www.sandordargo.com/blog/2022/10/26/statements-with-initializers-part-1-conditionals)
1. [The evolution of statements with initializers in C++ - part 2](https://www.sandordargo.com/blog/2022/11/02/statements-with-initializers-part-2-loops)
6. [Effect handlers in C++](https://github.com/maciejpirog/cpp-effects)
7. [Google takes on C++ technical debt with new successor language: Carbon](https://sdtimes.com/software-development/google-takes-on-c-technical-debt-with-new-successor-language-carbon/)
8. [C++ is the next C++](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2657r0.html)
9. [Stop searching for shared libraries](https://stoppels.ch/2022/08/04/stop-searching-for-shared-libraries.html)
## Videos
1. [Taking a Byte Out of C++ - Avoiding Punning by Starting Lifetimes - Robert Leahy - CppCon 2022](https://www.youtube.com/watch?v=pbkQG09grFw)
2. [C++ Performance Portability - A Decade of Lessons Learned - Christian Trott - CppCon 2022](https://www.youtube.com/watch?v=jNGGKFkt4lA)
3. [import CMake, CMake and C++20 Modules - Bill Hoffman - CppCon 2022](https://www.youtube.com/watch?v=5X803cXe02Y)
4. [Back to Basics: C++ Move Semantics - Andreas Fertig - CppCon 2022](https://www.youtube.com/watch?v=knEaMpytRMA)
5. [HPX - A C++ Library for Parallelism and Concurrency - Hartmut Kaiser - CppCon 2022](https://www.youtube.com/watch?v=npufmMlGOoM)
6. [C++ Package Managers - C++ Dependencies Don't Have To Be Painful! - Augustin Popa](https://www.youtube.com/watch?v=rrcngYMAJ-w)
7. [How Microsoft Uses C++ to Deliver Office - Huge Size, Small Components - Zachary Henkel CppCon 2022](https://www.youtube.com/watch?v=0QtX-nMlz0Q)
8. [C++ Weekly - Ep 348 - A Modern C++ Quick Start Tutorial - 90 Topics in 20 Minutes](https://www.youtube.com/watch?v=VpqwCDSfgz0)
9. [Introduction to Smart Pointers and Why](https://www.youtube.com/watch?v=nd2X5q_rXlc)
10. [Back to Basics: Cpp Value Semantics - Klaus Iglberger - CppCon 2022](https://www.youtube.com/watch?v=G9MxNwUoSt0)
================================================
FILE: 2022/articles-videos/221118.md
================================================
## Articles
1. [Measuring the memory usage of your C++ program](https://lemire.me/blog/2022/11/10/measuring-the-memory-usage-of-your-c-program/)
2. [The Rules of Three, Five and Zero](https://blog.sonarsource.com/the-rules-of-three-five-and-zero/)
3. [Why to use C++ in 2022?](https://dev.to/sandordargo/why-to-use-c-in-2022-56hi)
4. [Understanding qAsConst and std::as_const](https://www.kdab.com/blog-qasconst-and-stdas_const/)
5. [Strong Types in C++: A C
gitextract_8tn9watw/ ├── .github/ │ └── ISSUE_TEMPLATE/ │ └── subscription-request-template.md ├── 2022/ │ └── articles-videos/ │ ├── 2022-all-in-one.md │ ├── 220204.md │ ├── 220211.md │ ├── 220218.md │ ├── 220225.md │ ├── 220304.md │ ├── 220311.md │ ├── 220320.md │ ├── 220327.md │ ├── 220408.md │ ├── 220505.md │ ├── 220521.md │ ├── 220529.md │ ├── 220607.md │ ├── 220616.md │ ├── 220627.md │ ├── 220708.md │ ├── 220722.md │ ├── 220801.md │ ├── 220808.md │ ├── 220829.md │ ├── 220918.md │ ├── 220926.md │ ├── 221002.md │ ├── 221021.md │ ├── 221102.md │ ├── 221106.md │ ├── 221118.md │ ├── 221126.md │ ├── 221205.md │ ├── 221222.md │ ├── 221231.md │ └── 230120.md ├── 2023/ │ ├── AI/ │ │ └── AI-README.md │ ├── articles/ │ │ ├── 2023-all-in-one.md │ │ ├── 230312.md │ │ ├── 230321.md │ │ ├── 230403.md │ │ ├── 230416.md │ │ ├── 230424.md │ │ ├── 230501.md │ │ ├── 230509.md │ │ ├── 230514.md │ │ ├── 230522.md │ │ ├── 230607.md │ │ ├── 230620.md │ │ ├── 230703.md │ │ ├── 230717.md │ │ ├── 230802.md │ │ ├── 230819.md │ │ ├── 230827.md │ │ ├── 230903.md │ │ ├── 230917.md │ │ ├── 231006.md │ │ ├── 231015.md │ │ ├── 231030.md │ │ ├── 231112.md │ │ ├── 231126.md │ │ ├── 231220.md │ │ ├── 240110.md │ │ ├── 240120.md │ │ ├── 240206.md │ │ ├── 240219.md │ │ ├── 240224.md │ │ ├── 240303.md │ │ ├── 240314.md │ │ └── 240324.md │ └── videos/ │ ├── 2023-all-in-one.md │ ├── 230312.md │ ├── 230321.md │ ├── 230403.md │ ├── 230416.md │ ├── 230424.md │ ├── 230501.md │ ├── 230509.md │ ├── 230514.md │ ├── 230522.md │ ├── 230607.md │ ├── 230620.md │ ├── 230703.md │ ├── 230717.md │ ├── 230802.md │ ├── 230819.md │ ├── 230827.md │ ├── 230903.md │ ├── 230917.md │ ├── 231006.md │ ├── 231015.md │ ├── 231030.md │ ├── 231112.md │ ├── 231126.md │ ├── 231220.md │ ├── 240110.md │ ├── 240120.md │ ├── 240206.md │ ├── 240219.md │ ├── 240224.md │ ├── 240303.md │ ├── 240314.md │ └── 240324.md ├── 2024/ │ ├── articles/ │ │ ├── 240509.md │ │ ├── 240519.md │ │ ├── 240602.md │ │ ├── 240618.md │ │ ├── 240703.md │ │ ├── 240713.md │ │ ├── 240722.md │ │ ├── 240801.md │ │ ├── 240808.md │ │ ├── 240816.md │ │ ├── 240830.md │ │ ├── 240908.md │ │ ├── 240922.md │ │ ├── 240930.md │ │ ├── 241027.md │ │ ├── 241116.md │ │ ├── 241124.md │ │ ├── 241201.md │ │ ├── 241215.md │ │ ├── 241229.md │ │ ├── 250112.md │ │ ├── 250204.md │ │ ├── 250209.md │ │ ├── 250217.md │ │ ├── 250224.md │ │ ├── 250303.md │ │ ├── 250311.md │ │ ├── 250317.md │ │ ├── 250324.md │ │ ├── 250403.md │ │ └── 250427.md │ └── videos/ │ ├── 240509.md │ ├── 240519.md │ ├── 240602.md │ ├── 240618.md │ ├── 240703.md │ ├── 240713.md │ ├── 240722.md │ ├── 240801.md │ ├── 240808.md │ ├── 240816.md │ ├── 240830.md │ ├── 240908.md │ ├── 240922.md │ ├── 240930.md │ ├── 241027.md │ ├── 241116.md │ ├── 241124.md │ ├── 241201.md │ ├── 241215.md │ ├── 241229.md │ ├── 250112.md │ ├── 250204.md │ ├── 250209.md │ ├── 250217.md │ ├── 250224.md │ ├── 250303.md │ ├── 250311.md │ ├── 250317.md │ ├── 250324.md │ ├── 250403.md │ └── 250427.md ├── 2025/ │ ├── articles/ │ │ ├── 250622.md │ │ ├── 250706.md │ │ ├── 250803.md │ │ ├── 250825.md │ │ ├── 250907.md │ │ ├── 250920.md │ │ ├── 251012.md │ │ ├── 251020.md │ │ ├── 251117.md │ │ ├── 251210.md │ │ ├── 260112.md │ │ ├── 260125.md │ │ └── 260210.md │ └── videos/ │ ├── 250622.md │ ├── 250706.md │ ├── 250803.md │ ├── 250825.md │ ├── 250907.md │ ├── 250920.md │ ├── 251012.md │ ├── 251020.md │ ├── 251117.md │ ├── 251210.md │ ├── 260112.md │ ├── 260125.md │ └── 260210.md └── README.md
Condensed preview — 190 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (679K chars).
[
{
"path": ".github/ISSUE_TEMPLATE/subscription-request-template.md",
"chars": 376,
"preview": "---\nname: Subscription Request template\nabout: Subscribe to receive updates and notifications\ntitle: Subscription Reques"
},
{
"path": "2022/articles-videos/2022-all-in-one.md",
"chars": 118701,
"preview": "```toc\n```\n\n## 第1期 220204\n**Articles & Papers**\n1. Conditional Members \n [https://brevzin.github.io/c++/2021/11/21/"
},
{
"path": "2022/articles-videos/220204.md",
"chars": 9449,
"preview": "## Articles & Papers\n1. Conditional Members \n https://brevzin.github.io/c++/2021/11/21/conditional-members/\n2. co_re"
},
{
"path": "2022/articles-videos/220211.md",
"chars": 3674,
"preview": "## Articles & Papers\n1. C++20 Concepts - a Quick Introduction \n https://www.cppstories.com/2021/concepts-intro/\n2. G"
},
{
"path": "2022/articles-videos/220218.md",
"chars": 3523,
"preview": "## Articles & Papers\n1. Improving Stability with Modern C++, Part 5 — Revisiting the Rule of Three \n https://medium"
},
{
"path": "2022/articles-videos/220225.md",
"chars": 3455,
"preview": "## Articles & Papers\n1. Vector of Objects vs Vector of Pointers \n https://www.cppstories.com/2014/05/vector-of-objec"
},
{
"path": "2022/articles-videos/220304.md",
"chars": 2235,
"preview": "## Articles & Papers\n1. Visualising Module Dependencies with CMake and Graphviz \n https://embeddeduse.com/2022/03/01"
},
{
"path": "2022/articles-videos/220311.md",
"chars": 2079,
"preview": "## Articles & Papers\n1. Modern C++ In-Depth — Move Semantics, Part 1 \n https://medium.com/factset/modern-c-in-depth-"
},
{
"path": "2022/articles-videos/220320.md",
"chars": 2437,
"preview": "## Articles & Papers\n1. To Save C, We Must Save ABI \n https://thephd.dev/to-save-c-we-must-save-abi-fixing-c-functio"
},
{
"path": "2022/articles-videos/220327.md",
"chars": 2077,
"preview": "## Articles & Papers\n1. Nvidia: ‘We Are A Quantum Computing Company’ \n https://www.insidequantumtechnology.com/news-"
},
{
"path": "2022/articles-videos/220408.md",
"chars": 2921,
"preview": "## Articles & Papers\n1. The std::invoke function does more than invoke functions \n https://devblogs.microsoft.com/ol"
},
{
"path": "2022/articles-videos/220505.md",
"chars": 7411,
"preview": "## Articles & Papers\n1. [How to quantify technical debt inflation](https://belaycpp.com/2022/04/06/how-to-quantify-techn"
},
{
"path": "2022/articles-videos/220521.md",
"chars": 2726,
"preview": "## Articles & Papers\n1. [Fast bitset decoding using Intel AVX-512](https://lemire.me/blog/2022/05/06/fast-bitset-decodin"
},
{
"path": "2022/articles-videos/220529.md",
"chars": 1364,
"preview": "**Articles & Papers**\n1. [STRUCTURED CONCURRENCY IN C++](https://www.accu.org/journals/overload/30/168/teodorescu/)\n2. ["
},
{
"path": "2022/articles-videos/220607.md",
"chars": 1936,
"preview": "**Articles & Papers**\n1. [Automated instance construction in C++](https://schneide.blog/2022/06/02/automated-instance-co"
},
{
"path": "2022/articles-videos/220616.md",
"chars": 1736,
"preview": "## Articles & Papers\n\n1. [Use compiler flags for stack protection in GCC and Clang](https://developers.redhat.com/articl"
},
{
"path": "2022/articles-videos/220627.md",
"chars": 1522,
"preview": "## Articles & Papers\n\n1. [C++23: Narrowing contextual conversions to bool](https://www.sandordargo.com/blog/2022/06/15/c"
},
{
"path": "2022/articles-videos/220708.md",
"chars": 2602,
"preview": "## Articles & Papers\n1. [C++23’s Deducing this: what it is, why it is, how to use it](https://devblogs.microsoft.com/cpp"
},
{
"path": "2022/articles-videos/220722.md",
"chars": 2281,
"preview": "## Articles & Papers\n1. [Calculating SVD and PCA in C++](https://blog.demofox.org/2022/07/12/calculating-svd-and-pca-in-"
},
{
"path": "2022/articles-videos/220801.md",
"chars": 2787,
"preview": "## Articles\n1. [vcpkg July 2022 Release is Now Available: Shared Libraries on Linux, Improved vcpkg new, Optional name a"
},
{
"path": "2022/articles-videos/220808.md",
"chars": 1278,
"preview": "## Articles\n1. [Simplify Code with if constexpr and Concepts in C++17/C++20](https://www.cppstories.com/2018/03/ifconste"
},
{
"path": "2022/articles-videos/220829.md",
"chars": 3205,
"preview": "## Articles\n1. [Easy management of C++ libraries with vcpkg and CMake for Visual Studio 2022](https://nicobombace.com/c+"
},
{
"path": "2022/articles-videos/220918.md",
"chars": 2418,
"preview": "## Articles\n1. [inline – not what it used to be](https://vorbrodt.blog/2022/08/31/inline-not-what-it-used-to-be/)\n2. [ma"
},
{
"path": "2022/articles-videos/220926.md",
"chars": 2621,
"preview": "## Articles\n1. [C++23 - std::expected, the superior way of returning a value or an error](https://andreasfertig.blog/202"
},
{
"path": "2022/articles-videos/221002.md",
"chars": 2027,
"preview": "## Articles\n1. [What does the C++ error “A pointer to a bound function may only be used to call the function” mean?](htt"
},
{
"path": "2022/articles-videos/221021.md",
"chars": 3436,
"preview": "## Articles\n1. [What happens when you press a key in your terminal?](https://jvns.ca/blog/2022/07/20/pseudoterminals/)\n2"
},
{
"path": "2022/articles-videos/221102.md",
"chars": 2746,
"preview": "## Articles\n1. [Is it true that raising a structured exception from a structured exception handler terminates the proces"
},
{
"path": "2022/articles-videos/221106.md",
"chars": 2514,
"preview": "## Articles\n1. [6 Ways to Refactor new/delete into unique ptr](https://www.cppstories.com/2021/refactor-into-uniqueptr/)"
},
{
"path": "2022/articles-videos/221118.md",
"chars": 2601,
"preview": "## Articles\n1. [Measuring the memory usage of your C++ program](https://lemire.me/blog/2022/11/10/measuring-the-memory-u"
},
{
"path": "2022/articles-videos/221126.md",
"chars": 3627,
"preview": "## Articles\n1. [Inside `boost::unordered_flat_map`](https://bannalia.blogspot.com/2022/11/inside-boostunorderedflatmap.h"
},
{
"path": "2022/articles-videos/221205.md",
"chars": 2208,
"preview": "## Articles\n1. [Blogvent 3 - std::string_view and std::map](https://olafurw.com/2022-12-03-a-view-of-a-map/)\n2. [Sandor "
},
{
"path": "2022/articles-videos/221222.md",
"chars": 4758,
"preview": "## Articles\n1. [C++ Uniform Initialization - Benefits & Pitfalls](https://ianyepan.github.io/posts/cpp-uniform-initializ"
},
{
"path": "2022/articles-videos/221231.md",
"chars": 4270,
"preview": "## Articles\n1. [The Copy-and-Swap Idiom](https://www.modernescpp.com/index.php/the-copy-and-swap-idiom)\n2. [Class templa"
},
{
"path": "2022/articles-videos/230120.md",
"chars": 6955,
"preview": "## Articles\n1. [The Bitter Truth: Python 3.11 vs Cython vs C++ Performance for Simulations](https://medium.com/agents-an"
},
{
"path": "2023/AI/AI-README.md",
"chars": 3956,
"preview": "## AI Articles\n1. [What Is ChatGPT Doing … and Why Does It Work?](https://writings.stephenwolfram.com/2023/02/what-is-ch"
},
{
"path": "2023/articles/2023-all-in-one.md",
"chars": 61885,
"preview": "## 230312\n1. [Mixed C++ Monorepo Project Structure Development and Build Workflow](https://blog.galowicz.de/2023/01/23/m"
},
{
"path": "2023/articles/230312.md",
"chars": 2987,
"preview": "1. [Mixed C++ Monorepo Project Structure Development and Build Workflow](https://blog.galowicz.de/2023/01/23/mixed-cpp-m"
},
{
"path": "2023/articles/230321.md",
"chars": 2600,
"preview": "1. [LLVM 16.0.0 Release](https://discourse.llvm.org/t/llvm-16-0-0-release/69326)\n2. [References don’t have top-level cv-"
},
{
"path": "2023/articles/230403.md",
"chars": 1382,
"preview": "1. [Moving from Rust to C++](https://raphlinus.github.io/rust/2023/04/01/rust-to-cpp.html)\n2. [Implementing gets() in C "
},
{
"path": "2023/articles/230416.md",
"chars": 2298,
"preview": "1. [C++23’s New Fold Algorithms](https://devblogs.microsoft.com/cppblog/cpp23s-new-fold-algorithms/)\n2. [explicit(To Be "
},
{
"path": "2023/articles/230424.md",
"chars": 1506,
"preview": "1. [Reactor](https://www.modernescpp.com/index.php/reactor)\n2. [Simple usage of C++20 modules](https://www.zverovich.net"
},
{
"path": "2023/articles/230501.md",
"chars": 3500,
"preview": "1. [One way to defer work when a re-entrant call is detected](https://devblogs.microsoft.com/oldnewthing/20230426-00/?p="
},
{
"path": "2023/articles/230509.md",
"chars": 1068,
"preview": "1. [What are the duck-typing requirements of `_com_ptr_t`?](https://devblogs.microsoft.com/oldnewthing/20230508-00/?p=10"
},
{
"path": "2023/articles/230514.md",
"chars": 460,
"preview": "1. [Combining Collections with Zip in C++23 for Efficient Data Processing](https://www.cppstories.com/2023/view-zip/)\n2."
},
{
"path": "2023/articles/230522.md",
"chars": 1990,
"preview": "1. [Bitwise Binary Search: Elegant and Fast](https://orlp.net/blog/bitwise-binary-search/)\n2. [Building a baseline JIT f"
},
{
"path": "2023/articles/230607.md",
"chars": 1367,
"preview": "1. [cuneicode, and the Future of Text in C](https://thephd.dev/cuneicode-and-the-future-of-text-in-c)\n2. [Object Lifetim"
},
{
"path": "2023/articles/230620.md",
"chars": 1629,
"preview": "1. [Five Awesome C++ Papers for the H1 2023 - C++26, Varna and More](https://www.cppstories.com/2023/h1-cpp-papers23/)\n2"
},
{
"path": "2023/articles/230703.md",
"chars": 1758,
"preview": "1. [Dynamic bit shuffle using AVX-512](https://lemire.me/blog/2023/06/29/dynamic-bit-shuffle-using-avx-512/)\n2. [How to "
},
{
"path": "2023/articles/230717.md",
"chars": 2068,
"preview": "1. [Why does the compiler complain about a missing constructor when I’m just resizing my `std::vector` to a smaller size"
},
{
"path": "2023/articles/230802.md",
"chars": 2355,
"preview": "1. [Decoding base16 sequences quickly](https://lemire.me/blog/2023/07/27/decoding-base16-sequences-quickly/)\n2. [Underst"
},
{
"path": "2023/articles/230819.md",
"chars": 3524,
"preview": "1. [The new static constexpr std::integral_constant idiom](https://www.think-cell.com/en/career/devblog/the-new-static-c"
},
{
"path": "2023/articles/230827.md",
"chars": 1387,
"preview": "1. [Permutation Iteration and Random Access](https://blog.demofox.org/2023/08/22/permutation-iteration-and-random-access"
},
{
"path": "2023/articles/230903.md",
"chars": 860,
"preview": "1. [Auto Auto Auto](https://shafik.github.io/c++/2023/08/29/auto-auto-auto.html)\n2. [Working with images just got easier"
},
{
"path": "2023/articles/230917.md",
"chars": 1991,
"preview": "1. [How can I prevent myself from using a parameter after I’ve extracted all value from it?](https://devblogs.microsoft."
},
{
"path": "2023/articles/231006.md",
"chars": 1173,
"preview": "1. [Exploring Bit Scan Forward](https://lucisqr.substack.com/p/exploring-bit-scan-forward)\n2. [cppfront: Autumn update]("
},
{
"path": "2023/articles/231015.md",
"chars": 1824,
"preview": "1. [How to compare signed and unsigned integers in C++20?](https://www.sandordargo.com/blog/2023/10/11/cpp20-intcmp-util"
},
{
"path": "2023/articles/231030.md",
"chars": 1431,
"preview": "1. [How to use std::span from C++20](https://www.cppstories.com/2023/span-cpp20/)\n2. [My battle against signed/unsigned "
},
{
"path": "2023/articles/231112.md",
"chars": 1429,
"preview": "1. [Extern templates to reduce binary size](https://www.sandordargo.com/blog/2023/11/08/extern-templates)\n2. [SObjectize"
},
{
"path": "2023/articles/231126.md",
"chars": 2496,
"preview": "1. [Fortran 2023 has been published](https://www.iso.org/standard/82170.html)\n2. [Struct initialization](https://www.san"
},
{
"path": "2023/articles/231220.md",
"chars": 2981,
"preview": "1. [Boost 1.84 arrived! Two new libraries, field name reflection in PFR and many more updates.](https://www.boost.org/us"
},
{
"path": "2023/articles/240110.md",
"chars": 1570,
"preview": "1. [The double life of objects](https://akrzemi1.wordpress.com/2023/12/18/the-double-life-of-objets/)\n2. [**The Warnings"
},
{
"path": "2023/articles/240120.md",
"chars": 1995,
"preview": "1. [C++23: bitwise operations](https://www.sandordargo.com/blog/2024/01/17/cpp23-bitwise-operations)\n2. [C++23: Allocato"
},
{
"path": "2023/articles/240206.md",
"chars": 1961,
"preview": "1. [C23: a slightly better C](https://lemire.me/blog/2024/01/21/c23-a-slightly-better-c/)\n2. [Fuzzing an API with libfuz"
},
{
"path": "2023/articles/240219.md",
"chars": 1309,
"preview": "1. [C++ Pattern: Deriving From std::variant](https://tech.davidgorski.ca/c-mini-pattern-deriving-from-stdvariant/)\n2. [A"
},
{
"path": "2023/articles/240224.md",
"chars": 1110,
"preview": "1. [Mastering C++ with Google Benchmark](https://ashvardanian.com/posts/google-benchmark/)\n2. [Virtual function template"
},
{
"path": "2023/articles/240303.md",
"chars": 1148,
"preview": "1. [Press Release: Future Software Should Be Memory Safe](https://www.whitehouse.gov/oncd/briefing-room/2024/02/26/press"
},
{
"path": "2023/articles/240314.md",
"chars": 2507,
"preview": "1. [Clang 18.1.0rc Release Notes](https://releases.llvm.org/18.1.0/tools/clang/docs/ReleaseNotes.html)\n2. [Compiler Opti"
},
{
"path": "2023/articles/240324.md",
"chars": 2540,
"preview": "1. [2024-03 Tokyo ISO C++ Committee Trip Report — Third C++26 meeting!](https://old.reddit.com/r/cpp/comments/1bloatw/20"
},
{
"path": "2023/videos/2023-all-in-one.md",
"chars": 74552,
"preview": "## 230312\n1. [Just Enough Assembly for Compiler Explorer - Anders Schau Knatten - Meeting C++ 2022](https://www.youtube."
},
{
"path": "2023/videos/230312.md",
"chars": 4686,
"preview": "1. [Just Enough Assembly for Compiler Explorer - Anders Schau Knatten - Meeting C++ 2022](https://www.youtube.com/watch?"
},
{
"path": "2023/videos/230321.md",
"chars": 1570,
"preview": "1. [Bringing a Mobile C++ Codebase to the Web - Li Feng - CppCon 2022](https://www.youtube.com/watch?v=ew_7JtJ1AW4)\n2. ["
},
{
"path": "2023/videos/230403.md",
"chars": 864,
"preview": "1. [The Art of SIMD Programming by Sergey Slotin](https://www.youtube.com/watch?v=vIRjSdTCIEU)\n2. [Lightning Talk: 10 Th"
},
{
"path": "2023/videos/230416.md",
"chars": 774,
"preview": "1. [Re-inventing move semantics in modern C++ in 13 minutes](https://www.youtube.com/watch?v=kqQ90R0_GFI)\n2. [Lightning "
},
{
"path": "2023/videos/230424.md",
"chars": 714,
"preview": "1. [Do you even test? (your code with CMake)](https://www.youtube.com/watch?v=pxJoVRfpRPE)\n2. [C++ Weekly - Special Edit"
},
{
"path": "2023/videos/230501.md",
"chars": 603,
"preview": "1. [Interview With Ben Deane - Calendrical C++: std::chrono, History, Mathematics and the Computus](https://www.youtube."
},
{
"path": "2023/videos/230509.md",
"chars": 605,
"preview": "1. [C++ Weekly - Ep 374 - C++23's out_ptr and inout_ptr](https://www.youtube.com/watch?v=DHKoN6ZBrkA)\n2. [C++ Weekly - E"
},
{
"path": "2023/videos/230514.md",
"chars": 592,
"preview": "1. [How to create custom QML components](https://www.youtube.com/watch?v=cj3v2cu5yUA)\n2. [Universal/Forwarding Reference"
},
{
"path": "2023/videos/230522.md",
"chars": 959,
"preview": "1. [The C++ rvalue lifetime disaster - Arno Schödl. think cell](https://www.youtube.com/watch?v=Tz5drzXREW0)\n2. [Aleksan"
},
{
"path": "2023/videos/230607.md",
"chars": 2045,
"preview": "1. [Pure Virtual C++](https://www.youtube.com/watch?v=yVqhvEOW-9M)\n2. [MSVC C++23 Update](https://www.youtube.com/watch?"
},
{
"path": "2023/videos/230620.md",
"chars": 1161,
"preview": "1. [Improving C++ Compilation Times: Tools & Techniques - Vittorio Romeo - ACCU 2023](https://www.youtube.com/watch?v=Pf"
},
{
"path": "2023/videos/230703.md",
"chars": 1564,
"preview": "1. [C++ Insights - Episode 39: Recursion-free templates with C++17s fold expressions](https://www.youtube.com/watch?v=C3"
},
{
"path": "2023/videos/230717.md",
"chars": 2753,
"preview": "1. [Keynote: Safety and Security: The Future of C++ - JF Bastien - CppNow 2023](https://www.youtube.com/watch?v=Gh79wcGJ"
},
{
"path": "2023/videos/230802.md",
"chars": 6202,
"preview": "1. [Coding for Safety, Security, and Sustainability in C++ - Panel Discussion - CppNow 2023](https://www.youtube.com/wat"
},
{
"path": "2023/videos/230819.md",
"chars": 5711,
"preview": "1. [What is Low Latency C++? (Part 1) - Timur Doumler - CppNow 2023](https://www.youtube.com/watch?v=EzmNeAhWqVs)\n2. [Ho"
},
{
"path": "2023/videos/230827.md",
"chars": 1847,
"preview": "1. [Debugging C++ Code: A Practical and Interactive Guide - Sebastian Theophil - CppNow 2023](https://www.youtube.com/wa"
},
{
"path": "2023/videos/230903.md",
"chars": 1940,
"preview": "1. [So, You Want to Use C++ Modules … Cross-Platform? - Daniela Engert - C++ on Sea 2023](https://www.youtube.com/watch?"
},
{
"path": "2023/videos/230917.md",
"chars": 5472,
"preview": "1. [Tips and Tricks for Becoming a CMake Master - Hans Vredeveld - C++ on Sea 2023](https://www.youtube.com/watch?v=opky"
},
{
"path": "2023/videos/231006.md",
"chars": 6184,
"preview": "1. [Object Lifetime in C++: From Start to Finish - Thamara Andrade - CppNorth 2023](https://www.youtube.com/watch?v=Cqyq"
},
{
"path": "2023/videos/231015.md",
"chars": 2824,
"preview": "1. [Lightning Talk: Faster Filtering with Flux in C++ - Tristan Brindle - CppNorth 2023](https://www.youtube.com/watch?v"
},
{
"path": "2023/videos/231030.md",
"chars": 2482,
"preview": "1. [Lightning Talk: Red/Green/What? - Colour Vision Limitation - Björn Fahller - C++ on Sea 2023](https://www.youtube.co"
},
{
"path": "2023/videos/231112.md",
"chars": 992,
"preview": "1. [Lightning Talk: How Quick, Fast, and Valuable Feedback Helps Programming - Arne Mertz C++ on Sea 23](https://www.you"
},
{
"path": "2023/videos/231126.md",
"chars": 701,
"preview": "1. [Let's make a library that uses Reflection - Konstantinos Kanavouras - Meeting C++ 2023](https://www.youtube.com/watc"
},
{
"path": "2023/videos/231220.md",
"chars": 3651,
"preview": "1. [Continuous Regression Testing for Safer and Faster Refactoring in C++ - Pejman Ghorbanzade - CppCon](https://www.you"
},
{
"path": "2023/videos/240110.md",
"chars": 3958,
"preview": "1. [Cache-friendly Design in Robot Path Planning with C++ - Brian Cairl - CppCon 2023](https://www.youtube.com/watch?v=U"
},
{
"path": "2023/videos/240120.md",
"chars": 2170,
"preview": "1. [Compile-time sparse matrices - Daniel Withopf - Meeting C++ 2023](https://www.youtube.com/watch?v=-w5GQt0nPZw)\n2. [A"
},
{
"path": "2023/videos/240206.md",
"chars": 3047,
"preview": "1. [Regular, revisited - Victor Ciura - Meeting C++ 2023](https://www.youtube.com/watch?v=9ilirLg9TzM)\n2. [C++ Weekly - "
},
{
"path": "2023/videos/240219.md",
"chars": 2476,
"preview": "1. [Robots Are After Your Job: Exploring Generative AI for C++ - Andrei Alexandrescu - CppCon 2023](https://www.youtube."
},
{
"path": "2023/videos/240224.md",
"chars": 1081,
"preview": "1. [Advanced SIMD Algorithms in Pictures - Denis Yaroshevskiy - CppCon 2023](https://www.youtube.com/watch?v=YolkGP-rb3U"
},
{
"path": "2023/videos/240303.md",
"chars": 864,
"preview": "1. [Leveraging the Power of C++ for Efficient Machine Learning on Embedded Devices - Adrian Stanciu](https://www.youtube"
},
{
"path": "2023/videos/240314.md",
"chars": 1715,
"preview": "1. [Designing Fast and Efficient List-like Data Structures - Yannic Bonenberger - CppCon 2023](https://www.youtube.com/w"
},
{
"path": "2023/videos/240324.md",
"chars": 1295,
"preview": "1. [Getting Started with C++ - Michael Price - CppCon 2023](https://www.youtube.com/watch?v=NReDubvNjRg)\n2. [C++ Memory "
},
{
"path": "2024/articles/240509.md",
"chars": 2772,
"preview": "1. [C++ Insights with Clang 18 and more](https://andreasfertig.blog/2024/04/cpp-insights-with-clang-18-and-more/)\n2. [Im"
},
{
"path": "2024/articles/240519.md",
"chars": 1370,
"preview": "1. [Using Sender/Receiver for Async Control Flow](https://sdowney.org/index.php/2024/05/18/slides-from-cnow-2023-async-c"
},
{
"path": "2024/articles/240602.md",
"chars": 2467,
"preview": "1. [A C++ type list, but how and why](https://a4z.gitlab.io/blog/2024/05/18/cpp-typelist.html)\n2. [Are we missing a Rang"
},
{
"path": "2024/articles/240618.md",
"chars": 2490,
"preview": "1. [Constant Integer Type Declarations Initialized With Constant Expressions Should Be Constants](https://thephd.dev/con"
},
{
"path": "2024/articles/240703.md",
"chars": 3004,
"preview": "1. [Implementing General Relativity: Wormholes, spinning black holes, accretion disks, and redshift](https://20k.github."
},
{
"path": "2024/articles/240713.md",
"chars": 1480,
"preview": "1. [Compile-time JSON deserialization in C++](https://medium.com/@abdulgh/compile-time-json-deserialization-in-c-1e3d41a"
},
{
"path": "2024/articles/240722.md",
"chars": 875,
"preview": "1. [22 Common Filesystem Tasks in C++20](https://www.cppstories.com/2024/common-filesystem-cpp20/)\n2. [Cooperative Inter"
},
{
"path": "2024/articles/240801.md",
"chars": 1566,
"preview": "1. [Efficient integer powers of floating-point numbers in C++](https://schneide.blog/2024/07/31/efficient-integer-powers"
},
{
"path": "2024/articles/240808.md",
"chars": 1055,
"preview": "1. [Reader Q&A: What does it mean to initialize an int?](https://herbsutter.com/2024/08/07/reader-qa-what-does-it-mean-t"
},
{
"path": "2024/articles/240816.md",
"chars": 1617,
"preview": "1. [A first look at the voting results for Meeting C++ 2024](https://www.meetingcpp.com/meetingcpp/news/items/A-first-lo"
},
{
"path": "2024/articles/240830.md",
"chars": 1415,
"preview": "1. [Visualizing boost::unordered_map in GDB, with pretty-printer customization points](https://blog.ganets.ky/PrettyPrin"
},
{
"path": "2024/articles/240908.md",
"chars": 1363,
"preview": "1. [What’s new in C++26 (part 1)](https://mariusbancila.ro/blog/2024/09/06/whats-new-in-c26-part-1/)\n2. [Opaque Pointer "
},
{
"path": "2024/articles/240922.md",
"chars": 1946,
"preview": "1. [Reducing Binary Size of Qt Applications with Qt 6.8 - Part 2: Coffee Machine example](https://www.qt.io/blog/reducin"
},
{
"path": "2024/articles/240930.md",
"chars": 1540,
"preview": "1. [Code Generation in Rust vs C++26](https://brevzin.github.io/c++/2024/09/30/annotations/)\n2. [Reflection in C++26: Me"
},
{
"path": "2024/articles/241027.md",
"chars": 2525,
"preview": "1. [10 Tips to Make Your QML Code Faster and More Maintainable](https://www.kdab.com/10-tips-to-make-your-qml-code-faste"
},
{
"path": "2024/articles/241116.md",
"chars": 2014,
"preview": "1. [A new chapter, and thoughts on a pivotal year for C++](https://herbsutter.com/2024/11/11/a-new-chapter-and-a-pivotal"
},
{
"path": "2024/articles/241124.md",
"chars": 762,
"preview": "1. [Story-time: C++, bounds checking, performance, and compilers](https://chandlerc.blog/posts/2024/11/story-time-bounds"
},
{
"path": "2024/articles/241201.md",
"chars": 1228,
"preview": "1. [GCC 15 will bring support for the std module](https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=7db55c0ba1baaf0e323ef7f"
},
{
"path": "2024/articles/241215.md",
"chars": 1596,
"preview": "1. [Let's start exploring C++26](https://www.sandordargo.com/blog/2024/12/11/start-exploring-cpp26)\n2. [How AMD Is Takin"
},
{
"path": "2024/articles/241229.md",
"chars": 1838,
"preview": "1. [How to implement a vtable for our custom type erasure type](https://cpp-rendering.io/how-to-implement-a-vtable-for-t"
},
{
"path": "2024/articles/250112.md",
"chars": 1126,
"preview": "1. [My little New Year’s Week project (and maybe one for you?)](https://herbsutter.com/2025/01/02/my-little-new-years-we"
},
{
"path": "2024/articles/250204.md",
"chars": 2828,
"preview": "1. [The Definitive Guide to the C++ final Keyword](https://johnfarrier.com/the-definitive-guide-to-the-c-final-keyword/?"
},
{
"path": "2024/articles/250209.md",
"chars": 802,
"preview": "1. [Thread-safe memory copy](https://lemire.me/blog/2025/02/07/thread-safe-memory-copy/)\n2. [C++26: erroneous behaviour]"
},
{
"path": "2024/articles/250217.md",
"chars": 1158,
"preview": "1. [2025-02 Hagenberg ISO C++ Committee Trip Report — Sixth C++26 meeting!](https://www.reddit.com/r/cpp/comments/1iqqu6"
},
{
"path": "2024/articles/250224.md",
"chars": 1716,
"preview": "1. [SIMD: A practical guide](https://vectrx.substack.com/p/simd-a-practical-guide?triedRedirect=true)\n2. [The Weirdest M"
},
{
"path": "2024/articles/250303.md",
"chars": 661,
"preview": "1. [Details of std::mdspan from C++23](https://www.cppstories.com/2025/cpp23_mdspan/)\n2. [Securing tomorrow's software: "
},
{
"path": "2024/articles/250311.md",
"chars": 1820,
"preview": "1. [Improving on std::count_if()'s auto-vectorization](https://nicula.xyz/2025/03/08/improving-stdcountif-vectorization."
},
{
"path": "2024/articles/250317.md",
"chars": 1980,
"preview": "1. [Polymorphic, Defaulted Equality](https://brevzin.github.io/c++/2025/03/12/polymorphic-equals/)\n2. [C++26: Removing l"
},
{
"path": "2024/articles/250324.md",
"chars": 1684,
"preview": "1. [Advanced C++ Optimization Techniques for High-Performance Applications — Part 2](https://medium.com/@martin00001313/"
},
{
"path": "2024/articles/250403.md",
"chars": 1623,
"preview": "1. [A Lock-Free Stack: A Hazard Pointer Implementation Explained I](https://www.modernescpp.com/index.php/a-lock-free-st"
},
{
"path": "2024/articles/250427.md",
"chars": 1797,
"preview": "1. [Streamlined iteration: exploring keys and values in C++20](https://lemire.me/blog/2025/04/20/iterating-through-keys-"
},
{
"path": "2024/videos/240509.md",
"chars": 4024,
"preview": "1. [Better CMake: A World Tour of Build Systems - Better C++ Builds - Damien Buhl & Antonio Di Stefano](https://www.yout"
},
{
"path": "2024/videos/240519.md",
"chars": 862,
"preview": "1. [Reflection in C++26: the renaissance of C++](https://www.youtube.com/watch?v=vRda0mGYg_A)\n2. [C++ Insights - Episode"
},
{
"path": "2024/videos/240602.md",
"chars": 841,
"preview": "1. [Make C++ Apps & Games FOR THE WEB](https://www.youtube.com/watch?v=JPlTuRj1OJo)\n2. [Fil-C update: FreeBSD, X86_64, X"
},
{
"path": "2024/videos/240618.md",
"chars": 731,
"preview": "1. [Keynote: Safety, Security, Safety[sic] and C/C++[sic] - C++ Evolution - Herb Sutter - ACCU 2024](https://www.youtube"
},
{
"path": "2024/videos/240703.md",
"chars": 1046,
"preview": "1. [Narrow Contracts and `noexcept` are Inherently Incompatible in C++ - John Lakos - ACCU 2024](https://www.youtube.com"
},
{
"path": "2024/videos/240713.md",
"chars": 909,
"preview": "1. [Contracts for C++ - Timur Doumler - ACCU 2024](https://www.youtube.com/watch?v=lHRyuTFig0U)\n2. [Rainer Grimm - Concu"
},
{
"path": "2024/videos/240722.md",
"chars": 1140,
"preview": "1. [An (In-)Complete Guide To C++ Object Lifetimes by Jonathan Müller](https://www.youtube.com/watch?v=97HO8wPO7Os)\n2. ["
},
{
"path": "2024/videos/240801.md",
"chars": 709,
"preview": "1. [Embedded Asynchronous Abstraction C++ - Implementing Senders & Receivers Without an OS - Ben Deane](https://www.yout"
},
{
"path": "2024/videos/240808.md",
"chars": 804,
"preview": "1. [C++ Weekly - Ep 440 - Revisiting Visitors for std::visit](https://www.youtube.com/watch?v=et1fjd8X1ho)\n2. [Boost.Par"
},
{
"path": "2024/videos/240816.md",
"chars": 592,
"preview": "1. [C++26 Preview - Jeffrey Garland - C++Now 2024](https://www.youtube.com/watch?v=CwYILWyTRMQ)\n2. [C++ Should Be C++ - "
},
{
"path": "2024/videos/240830.md",
"chars": 1966,
"preview": "1. [Reducing C++ Compilation Times Through Good Design - Andrew Pearcy - ACCU 2024](https://www.youtube.com/watch?v=ItcG"
},
{
"path": "2024/videos/240908.md",
"chars": 1881,
"preview": "1. [A Deep Dive Into C++ Object Lifetimes - Jonathan Müller - C++Now 2024](https://www.youtube.com/watch?v=oZyhq4D-QL4)\n"
},
{
"path": "2024/videos/240922.md",
"chars": 1763,
"preview": "1. [Backporting C++ Safety - Taylor Foxhall - C++Now 2024](https://www.youtube.com/watch?v=0wtQ8hNDu30)\n2. [Catching Rea"
},
{
"path": "2024/videos/240930.md",
"chars": 1700,
"preview": "1. [Detect C++ Memory Leaks with ALSan: Attachable Leak Sanitizer - Bojun Seo - C++Now 2024](https://www.youtube.com/wat"
},
{
"path": "2024/videos/241027.md",
"chars": 5028,
"preview": "1. [Unlock the Power of Parallel Computing With SWAR (SIMD Within A Register) - Jamie Pond - C++ on Sea](https://www.you"
},
{
"path": "2024/videos/241116.md",
"chars": 4594,
"preview": "1. [This is C++: Uncompromised Performance, Undefined Behavior, & Move Semantics - Jon Kalb C++Now 2024](https://www.you"
},
{
"path": "2024/videos/241124.md",
"chars": 2222,
"preview": "1. [Back to Basics: Generic Programming in C++ - David Olsen - CppCon 2024](https://www.youtube.com/watch?v=0_0HsEBsgPc&"
},
{
"path": "2024/videos/241201.md",
"chars": 2252,
"preview": "1. [Back to Basics: Function Call Resolution in C++ - Ben Saks - CppCon 2024](https://www.youtube.com/watch?v=ab_RzvGAS1"
},
{
"path": "2024/videos/241215.md",
"chars": 3401,
"preview": "1. [C++ Reflection Is Not Contemplation - Andrei Alexandrescu - CppCon 2024](https://www.youtube.com/watch?v=H3IdVM4xoCU"
},
{
"path": "2024/videos/241229.md",
"chars": 3455,
"preview": "1. [Peering forward: C++'s next decade - Herb Sutter - Keynote Meeting C++ 2024](https://www.youtube.com/watch?v=sbcOdb3"
},
{
"path": "2024/videos/250112.md",
"chars": 3603,
"preview": "1. [C++ Safety And Security Panel 2024 - Hosted by Michael Wong - CppCon 2024](https://www.youtube.com/watch?v=uOv6uLN78"
},
{
"path": "2024/videos/250204.md",
"chars": 4339,
"preview": "1. [Greg Law - Linux User/Kernel ABI Detail](https://www.youtube.com/watch?v=4annFXzCTNk&ab_channel=MUCplusplus)\n2. [Luk"
},
{
"path": "2024/videos/250209.md",
"chars": 1246,
"preview": "1. [Making Hard C++ Tests Easy: A Case Study From the Motion Planning Domain - Chip Hogg - CppCon 2024](https://www.yout"
},
{
"path": "2024/videos/250217.md",
"chars": 1160,
"preview": "1. [Perfomance engineering: being friendly to your hardware - Ignas Bagdonas - Meeting C++ 2024](https://www.youtube.com"
},
{
"path": "2024/videos/250224.md",
"chars": 908,
"preview": "1. [Session Types in C++ - A Programmer's Journey - Miodrag Misha Djukic - CppCon 2024](https://www.youtube.com/watch?v="
},
{
"path": "2024/videos/250303.md",
"chars": 1116,
"preview": "1. [Introduction to Sender/Receiver framework - Goran Aranđelović - Meeting C++ 2024](https://www.youtube.com/watch?v=wc"
},
{
"path": "2024/videos/250311.md",
"chars": 1500,
"preview": "1. [Deciphering C++ Coroutines Part 2 - Mastering Asynchronous Control Flow - Andreas Weis - CppCon 2024](https://www.yo"
},
{
"path": "2024/videos/250317.md",
"chars": 1078,
"preview": "1. [Cost of C++ Abstractions in C++ Embedded Systems - Marcell Juhasz - CppCon 2024](https://www.youtube.com/watch?v=7gz"
},
{
"path": "2024/videos/250324.md",
"chars": 1187,
"preview": "1. [Investigating C++ Legacy Design Trends: Newer Isn’t Always Better! - Katherine Rocha - CppCon 2024](https://www.yout"
},
{
"path": "2024/videos/250403.md",
"chars": 1753,
"preview": "1. [C++ Weekly - Ep 473 - continue and break Statements](https://www.youtube.com/watch?v=CiB1ex0hi3w&ab_channel=C%2B%2BW"
},
{
"path": "2024/videos/250427.md",
"chars": 1342,
"preview": "1. [C++ Weekly - Ep 476 - C++23's Fold Algorithms](https://www.youtube.com/watch?v=s8UInkalVgs&ab_channel=C%2B%2BWeeklyW"
},
{
"path": "2025/articles/250622.md",
"chars": 4018,
"preview": "1. [Trip report: June 2025 ISO C++ standards meeting (Sofia, Bulgaria)](https://herbsutter.com/2025/06/21/trip-report-ju"
},
{
"path": "2025/articles/250706.md",
"chars": 1030,
"preview": "1. [Reflecting JSON into C++ Objects](https://brevzin.github.io/c++/2025/06/26/json-reflection/)\n2. [Writing generic cod"
},
{
"path": "2025/articles/250803.md",
"chars": 1240,
"preview": "1. [The provenance memory model for C](https://gustedt.wordpress.com/2025/06/30/the-provenance-memory-model-for-c/)\n2. ["
},
{
"path": "2025/articles/250825.md",
"chars": 1193,
"preview": "1. [How to Avoid Thread-Safety Cost for Functions' static Variables](https://www.cppstories.com/2025/thread_safety_funct"
},
{
"path": "2025/articles/250907.md",
"chars": 1155,
"preview": "1. [What is the C++ nth_element algorithm?](https://mariusbancila.ro/blog/2025/09/02/what-is-the-cpp-nth_element-algorit"
},
{
"path": "2025/articles/250920.md",
"chars": 942,
"preview": "1. [Combating headcrabs in the Source SDK codebase](https://pvs-studio.com/en/blog/posts/cpp/1281/)\n2. [VImpl: A Virtual"
},
{
"path": "2025/articles/251012.md",
"chars": 1783,
"preview": "1. [Pointer Tagging in C++: The Art of Packing Bits Into a Pointer](https://vectrx.substack.com/p/pointer-tagging-in-c-t"
},
{
"path": "2025/articles/251020.md",
"chars": 956,
"preview": "1. [C++ Templates: How to Iterate through std::tuple: C++26 Packs and Expansion Statements](https://www.cppstories.com/2"
},
{
"path": "2025/articles/251117.md",
"chars": 2727,
"preview": "1. [Comparing accumulate to C++23s fold_left](https://www.meetingcpp.com/blog/items/Comparing-accumulate-to-Cpp23s-fold-"
},
{
"path": "2025/articles/251210.md",
"chars": 1329,
"preview": "1. [Simplify hashing in C++](https://cpp-rendering.io/hashing-in-c/)\n2. [C++ Enum Class and Error Codes, part 3](https:/"
},
{
"path": "2025/articles/260112.md",
"chars": 849,
"preview": "1. [Time in C++: Additional clocks in C++20](https://www.sandordargo.com/blog/2026/01/07/clocks-part-6-cpp20)\n2. [Unsign"
},
{
"path": "2025/articles/260125.md",
"chars": 1204,
"preview": "1. [Designated Initializers, the best feature of C++20](https://mropert.github.io/2026/01/15/designed_initializers/)\n2. "
},
{
"path": "2025/articles/260210.md",
"chars": 488,
"preview": "1. [C++ Modules are here to stay](https://faresbakhit.github.io/e/cpp-modules/)\n2. [Time in C++: Closing Thoughts](https"
},
{
"path": "2025/videos/250622.md",
"chars": 862,
"preview": "1. [Known pitfalls in C++26 Contracts - Ran Regev](https://www.youtube.com/watch?v=tzXu5KZGMJk&t=2s&ab_channel=Usingstd%"
},
{
"path": "2025/videos/250706.md",
"chars": 482,
"preview": "1. [C++ Weekly - Ep 486 - Captureless Lambdas with Captures](https://www.youtube.com/watch?v=MvjBJmsbM4g&ab_channel=C%2B"
},
{
"path": "2025/videos/250803.md",
"chars": 1098,
"preview": "1. [The CUDA C++ Developer Toolbox - Bryce Adelstein Lelbach - ACCU 2025](https://www.youtube.com/watch?v=tDegOeivJs4&ab"
},
{
"path": "2025/videos/250825.md",
"chars": 2895,
"preview": "1. [Harnessing constexpr - A Path to Safer C++ - Mikhail Svetkin - C++Now 2025](https://www.youtube.com/watch?v=THkLvIVg"
},
{
"path": "2025/videos/250907.md",
"chars": 2191,
"preview": "1. [The 10 Essential Features for the Future of C++ Libraries - Mateusz Pusz - C++ on Sea 2025](https://www.youtube.com/"
},
{
"path": "2025/videos/250920.md",
"chars": 1386,
"preview": "1. [Alex Stepanov, Generic Programming, and the C++ STL - Jon Kalb - C++Now 2025](https://www.youtube.com/watch?v=yUa6Ux"
},
{
"path": "2025/videos/251012.md",
"chars": 3082,
"preview": "1. [Using TLA+ to Fix a Very Difficult glibc Bug - Malte Skarupke - C++Now 2025](https://www.youtube.com/watch?v=Brgfp7_"
},
{
"path": "2025/videos/251020.md",
"chars": 1001,
"preview": "1. [A Practitioner’s Guide to Writing std-Compatible Views in C++ - Zach Laine - C++Now 2025](https://www.youtube.com/wa"
},
{
"path": "2025/videos/251117.md",
"chars": 3927,
"preview": "1. [Introduction to C++ Function Template Partial Ordering - Matheus Izvekov - C++Now 2025](https://www.youtube.com/watc"
},
{
"path": "2025/videos/251210.md",
"chars": 3099,
"preview": "1. [What C++ Needs to be Safe - John Lakos - ACCU 2025](https://www.youtube.com/watch?v=6-MrKxsR__I)\n2. [Implement the C"
},
{
"path": "2025/videos/260112.md",
"chars": 3670,
"preview": "1. [C++26 - What's In It For You? - Marc Gregoire - CppCon 2025](https://www.youtube.com/watch?v=_YCbGWXkOuo)\n2. [Lazy a"
},
{
"path": "2025/videos/260125.md",
"chars": 1816,
"preview": "1. [Sanitize for your Sanity: Sanitizers tools for Modern C++ - Evgenii Seliverstov - Meeting C++ 2025](https://www.yout"
},
{
"path": "2025/videos/260210.md",
"chars": 1895,
"preview": "1. [An Introduction to the new C++ 26 \"Reflection\" Feature - Inbal Levi - CppCon 2025](https://www.youtube.com/watch?v=H"
},
{
"path": "README.md",
"chars": 8008,
"preview": "# cpparticles\nC++文章、论文、视频资源分享,每月四期,供群内朋友阅读交流。\n\n## 2022\n- [第1期220204](2022/articles-videos/220204.md)\n- [第2期220211](2022/"
}
]
About this extraction
This page contains the full source code of the lkimuk/cpparticles GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 190 files (644.2 KB), approximately 209.5k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.