C++ Links: Unterschied zwischen den Versionen

Aus Wiki
Zur Navigation springen Zur Suche springen
(Wrapping Algorithms into Iterators)
(→‎Coroutines: std::generator: Standard Library Coroutine Support)
 
(68 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
== Exceptions ==
== Concurrency ==
* [https://www.justsoftwaresolutions.co.uk/threading/wrapping-callbacks-with-futures.html Using a wrapper for turning a callback into a future]
 
== Exceptions and Transactional Operations ==
* [http://arne-mertz.de/2016/01/modern-c-features-keyword-noexcept/ How to use noexcept]
* [http://arne-mertz.de/2016/01/modern-c-features-keyword-noexcept/ How to use noexcept]
* [http://www.acodersjourney.com/2016/08/top-15-c-exception-handling-mistakes-avoid/ Top 15 C++ Exception handling mistakes]
* [http://www.acodersjourney.com/2016/08/top-15-c-exception-handling-mistakes-avoid/ Top 15 C++ Exception handling mistakes]
* [https://tessil.github.io//2016/11/01/transactional-operations-scope-guard-list.html Scope guards for safe roll-backs]


== Tuples ==
== Containers ==
=== Tuples ===
* [http://vitiy.info/named-tuple-for-cplusplus/ Named Tuple]
* [http://vitiy.info/named-tuple-for-cplusplus/ Named Tuple]
* [https://medium.com/@matt.aubury/rip-index-sequence-2014-2017-9cc854aaad0 Use apply on tuple as map-reduce (RIP index_sequence)]
* [https://www.fluentcpp.com/2019/03/08/stl-algorithms-on-tuples/ STL Algorithms on Tuples]
=== Variants ===
* [https://akrzemi1.wordpress.com/2016/02/27/another-polymorphism/ Polymorphism using variant]
* [https://vittorioromeo.info/index/blog/variants_lambdas_part_1.html Visiting variants using lambdas]
* [https://adishavit.github.io/2016/polymorphism-polymorphism/ Polymorphism-polymorphism]
* [https://schneide.wordpress.com/2018/01/11/c17-the-two-line-visitor-explained/ The two line visitor explained]
* [https://arne-mertz.de/2018/06/functions-of-variants-are-covariant/ Functions of Variants are Covariant]
=== 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])
=== Misc ===
* [https://godbolt.org/z/faaxszrrY C++20: namedtuple/struct similar to Python]
== Regular Expressions ==
* The Regular Expression Library [http://www.modernescpp.com/index.php/regular-expressions Part 1], [http://www.modernescpp.com/index.php/more-rules-to-the-regular-expression-library 2]


== Iterators ==
== Iterators ==
* [https://blog.galowicz.de/2016/09/04/algorithms_in_iterators/ Wrapping Algorithms into Iterators]
* [https://blog.galowicz.de/2016/09/04/algorithms_in_iterators/ Wrapping Algorithms into Iterators]
* [http://reedbeta.com/blog/python-like-enumerate-in-cpp17/ Python-Like enumerate() In C++17]
* [https://foonathan.net/2020/03/iterator-sentinel/ C++20’s Iterator Sentinels]
== Functional Programming ==
* [http://www.fluentcpp.com/2017/07/11/dealing-multiple-paths-vector-monad-c/ Vector Monad]
* [https://philippegroarke.com/blog/2018/05/19/declarative-functional-apis-a-k-a-abusing-lambda-parameters/ Declarative Functional APIs]
* [https://foonathan.net/2020/05/fold-tricks/ Nifty Fold Expression Tricks]
== Coroutines ==
* [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]
* [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://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 ==
* [https://foonathan.github.io/blog/2016/10/19/strong-typedefs.html Strong typedefs]
* [https://www.justsoftwaresolutions.co.uk/cplusplus/strong_typedef.html strong_typedef by Anthony Williams]
* [https://abseil.io/tips/49 ADL]
* [https://accu.org/index.php/journals/2641 lvalues, rvalues, glvalues, prvalues, xvalues, help]
* [https://simpleroseinc.github.io/2020/02/29/create-a-new-type.html Create a new type when using std::variant]
== Concepts ==
* [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 17: Zeile 67:
* [http://blog.therocode.net/2016/01/copyable-polymorphic-wrapper Deep copy using a polymorphic wrapper]
* [http://blog.therocode.net/2016/01/copyable-polymorphic-wrapper Deep copy using a polymorphic wrapper]
* [https://akrzemi1.wordpress.com/2016/01/16/a-customizable-framework/ A customizable framework]
* [https://akrzemi1.wordpress.com/2016/01/16/a-customizable-framework/ A customizable framework]
* [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])
* [https://thecodepad.com/cpp/turning-c-metaprogramming-inside-out-with-boost-hana/ Turning C++ metaprogramming inside-out with boost::hana]
== CRTP ==
* [https://www.fluentcpp.com/2017/12/12/mixin-classes-yang-crtp/ Mixin Classes]


=== Covariance, Contravariance, Invariance ===
== Covariance, Contravariance, Invariance ==
* [http://cpptruths.blogspot.nl/2015/11/covariance-and-contravariance-in-c.html Covariance and Contravariance]
* [http://cpptruths.blogspot.nl/2015/11/covariance-and-contravariance-in-c.html Covariance and Contravariance]
* [http://arne-mertz.de/2016/05/covariant-smart-pointers/ Covariant smart pointers]
* [http://arne-mertz.de/2016/05/covariant-smart-pointers/ Covariant smart pointers]
* [https://arne-mertz.de/2018/06/functions-of-variants-are-covariant/ Functions of Variants are Covariant]


== Lambdas ==
== Lambdas ==
* [http://learnmeahaskell.blogspot.de/2014/05/composing-lambdas-in-c14-and-functions.html Composing Lambdas in C++14 -- and Functions]
* [http://learnmeahaskell.blogspot.de/2014/05/composing-lambdas-in-c14-and-functions.html Composing Lambdas in C++14 -- and Functions]
* [https://vittorioromeo.info/index/blog/capturing_perfectly_forwarded_objects_in_lambdas.html Capturing perfectly-forwarded objects in lambdas]
* [http://cpptruths.blogspot.de/2014/03/fun-with-lambdas-c14-style-part-1.html Fun with lambdas (part 1)]
* [http://cpptruths.blogspot.de/2014/03/fun-with-lambdas-c14-style-part-1.html Fun with lambdas (part 1)]
* Lambda story [https://www.bfilipek.com/2019/02/lambdas-story-part1.html?m=1 part 1]
== 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://www.fluentcpp.com/2018/12/14/named-arguments-cpp/ C++ Named Arguments]
* [http://www.bfilipek.com/2018/01/pimpl.html The Pimpl Pattern - what you should know]
* [https://www.fluentcpp.com/2016/12/15/respect-levels-of-abstraction/ It all comes down to respecting levels of abstraction]
* [https://eli.thegreenplace.net/2016/the-expression-problem-and-its-solutions/ The expression problem]
* [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]
* [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 ==
* [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 ==
* [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://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