{"id":11963,"date":"2021-03-26T08:38:58","date_gmt":"2021-03-26T08:38:58","guid":{"rendered":"http:\/\/blog.bachi.net\/?p=11963"},"modified":"2021-05-22T10:03:24","modified_gmt":"2021-05-22T10:03:24","slug":"c-buzzwords","status":"publish","type":"post","link":"https:\/\/blog.bachi.net\/?p=11963","title":{"rendered":"C++ buzzwords"},"content":{"rendered":"<p><a href=\"https:\/\/qr.ae\/pG7adv\">Can C++ do everything that C can?<\/a><br \/>\n<a href=\"https:\/\/www.oreilly.com\/library\/view\/data-structures-and\/9780470383278\/\">Data Structures and Algorithms in C++, Second Edition<\/a><br \/>\n<a href=\"https:\/\/www.oreilly.com\/library\/view\/40-algorithms-every\/9781789801217\/\">40 Algorithms Every Programmer Should Know<\/a> (Python)<\/p>\n<h3>Rainer Grimm<\/h3>\n<p><a href=\"https:\/\/www.grimm-jaud.de\/index.php\/der-einstieg-in-modernes-c\">Modernes C++ Inhaltsverzeichnis<\/a><br \/>\n<a href=\"https:\/\/www.heise.de\/developer\/ModernesCplusplus-3691794.html\">Heise: Modernes C++<\/a><br \/>\n<a href=\"https:\/\/www.modernescpp.com\/index.php\">Blog: MODERNES C++ (englisch)<\/a><br \/>\n<a href=\"https:\/\/www.grimm-jaud.de\/index.php\/blog\">Blog: MODERNES C++ (deutsch)<\/a><br \/>\n<a href=\"https:\/\/leanpub.com\/c20\">Leanpub: C++20 book &#8211; Get the details<\/a><br \/>\n<a href=\"https:\/\/www.oreilly.com\/library\/view\/c11-fur-programmierer\/9783955613945\/\">C++11 f\u00fcr Programmierer<\/a><\/p>\n<ul>\n<li>iterator (<a href=\"https:\/\/en.cppreference.com\/w\/cpp\/iterator\">1<\/a>)<\/li>\n<li>const_iterator (<a href=\"https:\/\/stackoverflow.com\/questions\/31208640\/what-is-the-difference-between-cbegin-and-begin-for-vector\">1<\/a>), (<a href=\"https:\/\/stackoverflow.com\/questions\/50071833\/what-is-the-differences-between-begin-end-and-cbegin-cend\/50071881\">2<\/a>)<\/li>\n<li>ranges (<a href=\"https:\/\/en.cppreference.com\/w\/cpp\/ranges\">1<\/a>)<\/li>\n<li>exceptions<\/li>\n<li>heap exceptions<\/li>\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/Allocator_(C%2B%2B)\">allocator<\/a><\/li>\n<li>Return Value Optimization<\/li>\n<li>lvalues (<a href=\"https:\/\/www.tutorialspoint.com\/cplusplus\/cpp_variable_types.htm\">#1<\/a>)<\/li>\n<li>rvalues<\/li>\n<li>Move semantic<\/li>\n<li>copy vs. move<\/li>\n<li>threads<\/li>\n<li>Function Pointer<\/li>\n<li>Function Objects<\/li>\n<li><a href=\"https:\/\/lec.inf.ethz.ch\/mavt\/etII\/2018\/downloads\/etLecture3.pdf\">Lambda functions<\/a><\/li>\n<li>Closure<\/li>\n<li><a href=\"https:\/\/de.wikipedia.org\/wiki\/Closure_(Funktion)#C++14\">mutable<\/a><\/li>\n<li><a href=\"https:\/\/www.kompf.de\/cplus\/artikel\/functors.html\">Functors<\/a><\/li>\n<li>streams<\/li>\n<li>stringstream<\/li>\n<li>stringbuf<\/li>\n<li><a href=\"https:\/\/www.codeproject.com\/Articles\/570638\/Ten-Cplusplus11-Features-Every-Cplusplus-Developer\">auto<\/a><\/li>\n<li>nullptr<\/li>\n<li>Method Override<\/li>\n<li>Method Final<\/li>\n<li><a href=\"https:\/\/www.internalpointers.com\/post\/quick-primer-type-traits-modern-cpp\">Type Traits<\/a><\/li>\n<li><a href=\"https:\/\/en.cppreference.com\/w\/cpp\/language\/static_assert\">static_assert<\/a><\/li>\n<li><a href=\"https:\/\/gracicot.github.io\/reflection\/2018\/04\/03\/reflection-present.html\">Reflection<\/a><\/li>\n<li><a href=\"https:\/\/visualstudiomagazine.com\/articles\/2013\/06\/03\/c-introspection.aspx\">Introspection<\/a><\/li>\n<li>Type introspection: run-time type information (RTTI) typeid and dynamic_cast keywords<\/li>\n<li>Lazy Futures<\/li>\n<li>Coroutines<\/li>\n<li><a href=\"https:\/\/www.heise.de\/developer\/artikel\/Ein-unendlicher-Datenstrom-dank-Coroutinen-in-C-20-5991142.html\">Generator<\/a><\/li>\n<li>C++20 Concepts (<a href=\"https:\/\/en.wikipedia.org\/wiki\/Concept_(generic_programming)\">Concept (generic programming)<\/a>, <a href=\"https:\/\/en.wikipedia.org\/wiki\/Concepts_(C%2B%2B)\">C++ Concepts<\/a>)<\/li>\n<li>C++20 Modules<\/li>\n<li>Atomics<\/li>\n<li>Semaphores<\/li>\n<li>Latches<\/li>\n<li>Barriers<\/li>\n<li>Cooperative Interrupt<\/li>\n<li>consteval<\/li>\n<li>constinit<\/li>\n<li>Aggregate Initialization <\/li>\n<li><a href=\"https:\/\/www.heise.de\/developer\/artikel\/C-20-Designated-Initializers-4835833.html\">Designated initialization<\/a><\/li>\n<li><a href=\"https:\/\/philippegroarke.com\/blog\/2017\/05\/09\/static-duck-typing-in-c\/\">Duck Typing\/automatic interfaces<\/a> (<a href=\"https:\/\/hackernoon.com\/python-duck-typing-or-automatic-interfaces-73988ec9037f\">Python<\/a>)<\/li>\n<li>What is Difference Between Polymorphism and Duck Typing<\/li>\n<li><a href=\"https:\/\/stackoverflow.com\/questions\/22514855\/arrow-operator-in-function-heading\">Arrow Operator in Function Declaration<\/a>\n<li><a href=\"https:\/\/blog.petrzemek.net\/2017\/01\/17\/pros-and-cons-of-alternative-function-syntax-in-cpp\/\">Alternative Function Syntax<\/a><\/li>\n<li>declval<\/li>\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/Dangling_pointer\">dangling memory<\/a><\/li>\n<li>constexpr<\/li>\n<li>noexcept (<a href=\"https:\/\/www.heise.de\/developer\/artikel\/C-Core-Guidelines-Der-noexcept-Spezifier-und-Operator-4121657.html\">1<\/a>), (<a href=\"https:\/\/stackoverflow.com\/questions\/10787766\/when-should-i-really-use-noexcept\">2<\/a>)<\/li>\n<li><a href=\"https:\/\/en.cppreference.com\/w\/cpp\/language\/explicit\">explicit<\/a> (<a href=\"https:\/\/stackoverflow.com\/questions\/121162\/what-does-the-explicit-keyword-mean\">1<\/a>), (<a href=\"https:\/\/www.geeksforgeeks.org\/g-fact-93\/\">2<\/a>)<\/li>\n<li>stack unwinding<\/li>\n<li>condition variable (<a href=\"https:\/\/www.grimm-jaud.de\/index.php\/blog\/bedingungsvariablen\">1<\/a>)<\/li>\n<li>embedded domain specific language (EDSL) (<a href=\"https:\/\/stackoverflow.com\/questions\/14997871\/edsl-with-name-binding-in-c\">1<\/a>)<\/li>\n<li><a href=\"https:\/\/en.cppreference.com\/w\/cpp\/language\/converting_constructor\">Converting constructor<\/a><\/li>\n<li><a href=\"https:\/\/en.cppreference.com\/w\/cpp\/language\/direct_initialization\">Direct initialization<\/a> (<a href=\"http:\/\/www.gotw.ca\/gotw\/036.htm\">#1<\/a>) (<code>T t(u);<\/code>)<\/li>\n<li><a href=\"https:\/\/en.cppreference.com\/w\/cpp\/language\/copy_initialization\">Copy initialization<\/a> (<code>T t = u;<\/code>)<\/li>\n<li><a href=\"https:\/\/en.cppreference.com\/w\/cpp\/language\/copy_constructor\">Copy constructors<\/a><\/li>\n<li><a href=\"https:\/\/en.cppreference.com\/w\/cpp\/language\/list_initialization\">List initialization<\/a> (direct-list-initialization, copy-list-initialization)<\/li>\n<li><a href=\"https:\/\/stackoverflow.com\/questions\/47366453\/direct-initialization-vs-direct-list-initialization-c\">direct-initialization vs direct-list-initialization (C++)<\/a><\/li>\n<li>using (<a href=\"https:\/\/en.cppreference.com\/w\/cpp\/language\/using_declaration\">1<\/a>), (<a href=\"https:\/\/en.cppreference.com\/w\/cpp\/language\/type_alias\">2<\/a>, (<a href=\"https:\/\/stackoverflow.com\/questions\/20790932\/what-is-the-logic-behind-the-using-keyword-in-c\">3<\/a>)<\/li>\n<li>Variadic templates, Parameter pack, ellipsis operator (&#8230;) (<a href=\"http:\/\/www.cplusplus.com\/articles\/EhvU7k9E\/\">1<\/a>) (<a href=\"https:\/\/www.modernescpp.com\/index.php\/c-core-guidelines-rules-for-variadic-templates\">2<\/a>) (<a href=\"https:\/\/stackoverflow.com\/questions\/39792417\/what-does-this-three-dots-means-in-c\">3<\/a>), (<a href=\"https:\/\/en.cppreference.com\/w\/cpp\/language\/parameter_pack\">4<\/a>)<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Can C++ do everything that C can? Data Structures and Algorithms in C++, Second Edition 40 Algorithms Every Programmer Should Know (Python) Rainer Grimm Modernes C++ Inhaltsverzeichnis Heise: Modernes C++ Blog: MODERNES C++ (englisch) Blog: MODERNES C++ (deutsch) Leanpub: C++20 book &#8211; Get the details C++11 f\u00fcr Programmierer iterator (1) const_iterator (1), (2) ranges (1) [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-11963","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/11963","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=11963"}],"version-history":[{"count":31,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/11963\/revisions"}],"predecessor-version":[{"id":11967,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/11963\/revisions\/11967"}],"wp:attachment":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11963"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11963"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11963"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}