C++ Links: Unterschied zwischen den Versionen

Aus Wiki
Zur Navigation springen Zur Suche springen
(→‎Types: Create a new type when using std::variant)
(→‎Coroutines: std::generator: Standard Library Coroutine Support)
 
(16 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 22: Zeile 22:
=== Boost Multiindex ===
=== Boost Multiindex ===
* Why use multiindex ([https://david-grs.github.io/why_boost_multi_index_container-part1/ Part 1], [https://david-grs.github.io/why_boost_multi_index_container-part2/ Part 2])
* Why use multiindex ([https://david-grs.github.io/why_boost_multi_index_container-part1/ Part 1], [https://david-grs.github.io/why_boost_multi_index_container-part2/ Part 2])
=== Misc ===
* [https://godbolt.org/z/faaxszrrY C++20: namedtuple/struct similar to Python]


== Regular Expressions ==
== Regular Expressions ==
Zeile 39: Zeile 42:
* [https://hackernoon.com/c-coroutine-ts-its-about-inversion-of-control-d1588c4c4c31 It’s about inversion of control!], [https://medium.com/@jasonmeisel/ranges-code-quality-and-the-future-of-c-99adc6199608 Pythagorean triples (ranges)]
* [https://hackernoon.com/c-coroutine-ts-its-about-inversion-of-control-d1588c4c4c31 It’s about inversion of control!], [https://medium.com/@jasonmeisel/ranges-code-quality-and-the-future-of-c-99adc6199608 Pythagorean triples (ranges)]
* Coroutines [https://lewissbaker.github.io/2017/09/25/coroutine-theory 1], [https://lewissbaker.github.io/2017/11/17/understanding-operator-co-await 2], [https://lewissbaker.github.io/2018/09/05/understanding-the-promise-type 3]
* Coroutines [https://lewissbaker.github.io/2017/09/25/coroutine-theory 1], [https://lewissbaker.github.io/2017/11/17/understanding-operator-co-await 2], [https://lewissbaker.github.io/2018/09/05/understanding-the-promise-type 3]
* [http://www.vishalchovatiya.com/cpp20-coroutine-under-the-hood/ C++20 Coroutine: Under The Hood]
* [https://turingcompl33t.github.io/Coroutine-Map/ Accelerating Map Multi-Lookup with Coroutines]
* [https://turingcompl33t.github.io/Coroutine-Map/ Accelerating Map Multi-Lookup with Coroutines]
* [https://ericniebler.com/2020/11/08/structured-concurrency/ Structured Concurrency]
* [https://ericniebler.com/2020/11/08/structured-concurrency/ Structured Concurrency]
* [https://accu.org/journals/overload/30/168/fertig/ C++20: A Coroutine Based Stream Parser]
* [https://devblogs.microsoft.com/cppblog/std-generator-standard-library-coroutine-support/ std::generator: Standard Library Coroutine Support]


== Types ==
== Types ==
Zeile 51: Zeile 57:
== Concepts ==
== Concepts ==
* [https://akrzemi1.wordpress.com/2020/03/26/requires-clause/ requires-clause]
* [https://akrzemi1.wordpress.com/2020/03/26/requires-clause/ requires-clause]
* [https://andreasfertig.blog/2024/01/cpp20-concepts-applied/ Concepts applied - Safe bitmasks using scoped enums]


== Random ==
== Random ==
Zeile 62: Zeile 69:
* [https://vittorioromeo.info/index/blog/cpp17_curry.html Zero overhead currying]
* [https://vittorioromeo.info/index/blog/cpp17_curry.html Zero overhead currying]
* Fundamental operations on type lists ([https://www.szilardszaloki.com/template%20metaprogramming/2020/02/29/fundamental-operations-on-type-lists-part1.html 1], [https://www.szilardszaloki.com/template%20metaprogramming/2020/03/27/fundamental-operations-on-type-lists-part2.html 2])
* Fundamental operations on type lists ([https://www.szilardszaloki.com/template%20metaprogramming/2020/02/29/fundamental-operations-on-type-lists-part1.html 1], [https://www.szilardszaloki.com/template%20metaprogramming/2020/03/27/fundamental-operations-on-type-lists-part2.html 2])
* [https://thecodepad.com/cpp/turning-c-metaprogramming-inside-out-with-boost-hana/ Turning C++ metaprogramming inside-out with boost::hana]


== CRTP ==
== CRTP ==
Zeile 78: Zeile 86:


== Methods / Patterns ==
== Methods / Patterns ==
* [https://www.justsoftwaresolutions.co.uk/cplusplus/hidden-friends.html The power of hidden friends]
* [https://foonathan.net/special-member C++ Special Member Function Guidelines]
* [https://foonathan.net/special-member C++ Special Member Function Guidelines]
* [https://www.fluentcpp.com/2018/12/14/named-arguments-cpp/ C++ Named Arguments]
* [https://www.fluentcpp.com/2018/12/14/named-arguments-cpp/ C++ Named Arguments]
Zeile 85: Zeile 94:
* [https://www.fluentcpp.com/2019/09/24/expressive-code-for-state-machines-in-cpp/ typestates for expressive code]
* [https://www.fluentcpp.com/2019/09/24/expressive-code-for-state-machines-in-cpp/ typestates for expressive code]
* [https://www.fluentcpp.com/2020/01/03/dry-comparisons-a-c-library-to-shorten-redundant-if-statements/ Simultaneous comparisons via private inheritance from tuple]
* [https://www.fluentcpp.com/2020/01/03/dry-comparisons-a-c-library-to-shorten-redundant-if-statements/ Simultaneous comparisons via private inheritance from tuple]
* [http://codingadventures.org/2021/11/27/solid-principles-using-modern-c/ SOLID Principles in modern C++]
* [https://marcoarena.wordpress.com/2023/01/31/the-toggle-builder/ The toggle builder]
* [https://abstractexpr.com/2023/04/25/better-than-singletons-the-service-locator-pattern/ Better than singletons: The service locator pattern]
* [https://quuxplusone.github.io/blog/2023/04/08/most-ctors-should-be-explicit/ Most constructors should be explicit]
* [https://www.foonathan.net/2023/07/constrain-user-defined-conversions/ Constrain your user-defined conversions]


== Pointers and References ==
== Pointers and References ==
* [https://www.nextptr.com/tutorial/ta1441164581/stdref-and-stdreference_wrapper-common-use-cases std::ref and std::reference_wrapper: common use cases]
* [https://www.nextptr.com/tutorial/ta1441164581/stdref-and-stdreference_wrapper-common-use-cases std::ref and std::reference_wrapper: common use cases]
* [https://medium.com/factset/modern-c-in-depth-move-semantics-part-2-4c53e90d5f2 Move Semantics Part 2]
* [https://devblogs.microsoft.com/cppblog/cpp23-deducing-this/ C++23’s Deducing this: what it is, why it is, how to use it]
* [https://accu.org/journals/overload/30/171/fertig/ The Power of Ref-qualifiers]


 
== Optimization, constexpr ==
== Optimization ==
* [https://blog.headlandstech.com/2018/08/15/outofline-a-memory-locality-pattern-for-high-performance-c/ OutOfLine: Reduce cache misses by reducing size of class]
* [https://blog.headlandstech.com/2018/08/15/outofline-a-memory-locality-pattern-for-high-performance-c/ OutOfLine: Reduce cache misses by reducing size of class]
* [https://kristerw.blogspot.co.uk/2016/12/gcc-attributepure-and-c-exceptions.html GCC attribute pure]
* [https://kristerw.blogspot.co.uk/2016/12/gcc-attributepure-and-c-exceptions.html GCC attribute pure]
* [https://gieseanw.wordpress.com/2019/10/20/we-dont-need-no-stinking-expression-templates/ We don’t need no stinking expression templates]
* [https://gieseanw.wordpress.com/2019/10/20/we-dont-need-no-stinking-expression-templates/ We don’t need no stinking expression templates]
* [https://www.cppstories.com/2021/constexpr-vecstr-cpp20/ constexpr vector and string in C++20 and One Big Limitation]
* [https://www.foonathan.net/2022/01/compile-time-codegen/ Compile Time Code Generation and Optimization]


== Network ==
== Network ==
* [https://medium.com/hacker-daily/writing-high-performance-servers-in-modern-c-7cd00926828 Writing modern C++ servers using Wangle]
* [https://medium.com/hacker-daily/writing-high-performance-servers-in-modern-c-7cd00926828 Writing modern C++ servers using Wangle]

Aktuelle Version vom 13. April 2025, 20:43 Uhr

Concurrency

Exceptions and Transactional Operations

Containers

Tuples

Variants

Boost Multiindex

Misc

Regular Expressions

  • The Regular Expression Library Part 1, 2

Iterators

Functional Programming

Coroutines

Types

Concepts

Random

Metaprogramming

CRTP

Covariance, Contravariance, Invariance

Lambdas

Methods / Patterns

Pointers and References

Optimization, constexpr

Network