Difference between revisions of "CPlusPlus"
From Lost In Wonderlands
(→Exceptions) |
(→C++ Testing) |
||
(38 intermediate revisions by the same user not shown) | |||
Line 22: | Line 22: | ||
* https://fr.wikipedia.org/wiki/Biblioth%C3%A8que_standard_du_C%2B%2B | * https://fr.wikipedia.org/wiki/Biblioth%C3%A8que_standard_du_C%2B%2B | ||
=== C++ Topics === | === C++ Topics === | ||
+ | |||
* [http://thbecker.net/articles/rvalue_references/section_01.html rValue] | * [http://thbecker.net/articles/rvalue_references/section_01.html rValue] | ||
* [https://accu.org/index.php/journals/227 lValue and rValue] | * [https://accu.org/index.php/journals/227 lValue and rValue] | ||
Line 28: | Line 29: | ||
* [https://boost-experimental.github.io/sml/cppnow-2019/#/ StateMachine] | * [https://boost-experimental.github.io/sml/cppnow-2019/#/ StateMachine] | ||
* [https://www.moderncplusplus.com/why-you-should-always-use-a-virtual-destructor/ why-you-should-always-use-a-virtual-destructor] | * [https://www.moderncplusplus.com/why-you-should-always-use-a-virtual-destructor/ why-you-should-always-use-a-virtual-destructor] | ||
+ | |||
+ | ====Cpp Acronisms ==== | ||
+ | * [https://quuxplusone.github.io/blog/2019/08/02/the-tough-guide-to-cpp-acronyms/ list of acronyms ] | ||
+ | * [https://en.cppreference.com/w/cpp/language/acronyms cppreference acronyms] | ||
==== [https://www.fluentcpp.com/posts/ Fluent Cpp Topics] ==== | ==== [https://www.fluentcpp.com/posts/ Fluent Cpp Topics] ==== | ||
Line 34: | Line 39: | ||
* [https://docs.microsoft.com/en-us/cpp/cpp/welcome-back-to-cpp-modern-cpp?view=vs-2019$ auto in modern C++] | * [https://docs.microsoft.com/en-us/cpp/cpp/welcome-back-to-cpp-modern-cpp?view=vs-2019$ auto in modern C++] | ||
* [https://stackoverflow.com/questions/16949016/how-to-declare-array-with-auto how-to-declare-array-with-auto] | * [https://stackoverflow.com/questions/16949016/how-to-declare-array-with-auto how-to-declare-array-with-auto] | ||
+ | |||
+ | ==== Ranges ==== | ||
+ | * [https://docs.microsoft.com/en-us/cpp/cpp/range-based-for-statement-cpp?view=vs-2019 Range-based for Statement (C++)] | ||
+ | * [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0184r0.html range based statement for loops] | ||
+ | * [https://github.com/ericniebler/range-v3 a range library v3] | ||
==== SmartPointers ==== | ==== SmartPointers ==== | ||
Line 57: | Line 67: | ||
==== [https://en.wikipedia.org/wiki/Resource_acquisition_is_initialization RAII, Resource Acquisition is initialization Pattern] ==== | ==== [https://en.wikipedia.org/wiki/Resource_acquisition_is_initialization RAII, Resource Acquisition is initialization Pattern] ==== | ||
* [https://www.moderncplusplus.com/category/raii/ RAII and exceptions] | * [https://www.moderncplusplus.com/category/raii/ RAII and exceptions] | ||
+ | |||
+ | ==== Perfect Forwarding C++ Patterns ==== | ||
+ | * https://cpppatterns.com/patterns/perfect-forwarding.html | ||
+ | |||
+ | ==== Swap Values C++ Pattern ==== | ||
+ | * https://cpppatterns.com/patterns/swap-values.html | ||
+ | |||
+ | ==== more C++ Patterns ==== | ||
+ | * https://cpppatterns.com | ||
==== Exceptions ==== | ==== Exceptions ==== | ||
Line 93: | Line 112: | ||
** [http://www.drdobbs.com/when-and-how-to-use-exceptions/184401836 Herb answers the question, "When, for what, and how should you use exceptions?] | ** [http://www.drdobbs.com/when-and-how-to-use-exceptions/184401836 Herb answers the question, "When, for what, and how should you use exceptions?] | ||
*microsoft | *microsoft | ||
+ | ** [https://docs.microsoft.com/en-us/cpp/cpp/welcome-back-to-cpp-modern-cpp?view=vs-2019 welcome-back-to-cpp-modern-cpp] | ||
** [https://docs.microsoft.com/en-us/cpp/cpp/try-throw-and-catch-statements-cpp?view=vs-2019 try-throw-and-catch-statements-cpp] | ** [https://docs.microsoft.com/en-us/cpp/cpp/try-throw-and-catch-statements-cpp?view=vs-2019 try-throw-and-catch-statements-cpp] | ||
** [https://docs.microsoft.com/en-us/cpp/cpp/errors-and-exception-handling-modern-cpp?view=vs-2019 errors-and-exception-handling-modern-cp?] | ** [https://docs.microsoft.com/en-us/cpp/cpp/errors-and-exception-handling-modern-cpp?view=vs-2019 errors-and-exception-handling-modern-cp?] | ||
Line 102: | Line 122: | ||
** [https://docs.microsoft.com/en-us/cpp/standard-library/exception-class?view=vs-2019 exception-class] | ** [https://docs.microsoft.com/en-us/cpp/standard-library/exception-class?view=vs-2019 exception-class] | ||
** [https://docs.microsoft.com/en-us/cpp/standard-library/stdexcept?view=vs-2019 stdexcept] | ** [https://docs.microsoft.com/en-us/cpp/standard-library/stdexcept?view=vs-2019 stdexcept] | ||
− | |||
** [https://docs.microsoft.com/en-us/cpp/cpp/cpp-language-reference?view=vs-2019 cpp-language-reference] | ** [https://docs.microsoft.com/en-us/cpp/cpp/cpp-language-reference?view=vs-2019 cpp-language-reference] | ||
** [https://docs.microsoft.com/en-us/cpp/standard-library/cpp-standard-library-reference?view=vs-2019 cpp-standard-library-reference] | ** [https://docs.microsoft.com/en-us/cpp/standard-library/cpp-standard-library-reference?view=vs-2019 cpp-standard-library-reference] | ||
Line 109: | Line 128: | ||
* [https://www.fluentcpp.com/2019/05/03/curried-objects-in-cpp/ curried-objects-in-cpp] | * [https://www.fluentcpp.com/2019/05/03/curried-objects-in-cpp/ curried-objects-in-cpp] | ||
* [http://www.laputan.org/pub/patterns/noble/noble.pdf curried objects] | * [http://www.laputan.org/pub/patterns/noble/noble.pdf curried objects] | ||
+ | |||
+ | ==== C++ templates ==== | ||
+ | * https://www.geeksforgeeks.org/templates-cpp/ | ||
==== C++ traits ==== | ==== C++ traits ==== | ||
Line 142: | Line 164: | ||
* [https://en.cppreference.com/w/cpp/memory/unique_ptr/make_unique make_unique] | * [https://en.cppreference.com/w/cpp/memory/unique_ptr/make_unique make_unique] | ||
* [https://en.cppreference.com/w/cpp/memory/shared_ptr/make_shared make_shared] | * [https://en.cppreference.com/w/cpp/memory/shared_ptr/make_shared make_shared] | ||
+ | |||
+ | |||
+ | ==== More C++ Idoms ==== | ||
+ | * https://en.wikibooks.org/wiki/More_C++_Idioms | ||
+ | * https://herbsutter.com/elements-of-modern-c-style/ | ||
+ | * https://cpptruths.blogspot.com/2007/08/new-book-on-c-idioms.html | ||
=== Boost === | === Boost === | ||
Line 161: | Line 189: | ||
* [http://clang.llvm.org/cxx_status.html support in Clang] | * [http://clang.llvm.org/cxx_status.html support in Clang] | ||
* [https://docs.microsoft.com/fr-fr/cpp/overview/visual-cpp-language-conformance?view=vs-2019 support in Visual C++] | * [https://docs.microsoft.com/fr-fr/cpp/overview/visual-cpp-language-conformance?view=vs-2019 support in Visual C++] | ||
+ | |||
+ | ==== Static code analyzer tools ==== | ||
+ | * integrated in Visual Studio C++ | ||
+ | * clang power tools for visual studio | ||
+ | ** [https://marketplace.visualstudio.com/items?itemName=caphyon.ClangPowerTools ClangPowerTools] | ||
+ | * Clang in xCode | ||
+ | * http://cppcheck.net/ | ||
====ISOCPP==== | ====ISOCPP==== | ||
Line 179: | Line 214: | ||
* [ https://www.cppindetail.com c++ in details] | * [ https://www.cppindetail.com c++ in details] | ||
− | ====C++20==== | + | ====C++ 20==== |
* https://en.wikipedia.org/wiki/C%2B%2B20 | * https://en.wikipedia.org/wiki/C%2B%2B20 | ||
Line 207: | Line 242: | ||
* https://en.wikipedia.org/wiki/Google_Test | * https://en.wikipedia.org/wiki/Google_Test | ||
* https://github.com/google/googletest | * https://github.com/google/googletest | ||
+ | |||
+ | |||
+ | [[boost test]] | ||
+ | * https://www.boost.org/doc/libs/1_70_0/libs/test/doc/html/index.html | ||
+ | |||
+ | [[Catch2]] | ||
+ | *https://github.com/catchorg/Catch2 | ||
+ | |||
+ | == Improving your C++ == | ||
+ | * https://www.acodersjourney.com/top-10-c-header-file-mistakes-and-how-to-fix-them/ | ||
+ | * https://www.acodersjourney.com/6-tips-supercharge-cpp-11-vector-performance/ | ||
+ | https://www.acodersjourney.com/boost-c11-vector-performance/ | ||
+ | * https://www.acodersjourney.com/c-11-auto/ | ||
+ | * https://www.acodersjourney.com/top-10-dumb-mistakes-avoid-c-11-smart-pointers/ | ||
+ | * https://www.acodersjourney.com/top-15-c-exception-handling-mistakes-avoid/ | ||
+ | * https://www.acodersjourney.com/top-20-c-pointer-mistakes/ | ||
+ | * https://www.acodersjourney.com/top-20-cplusplus-multithreading-mistakes/ | ||
+ | * https://www.acodersjourney.com/insertion-sort/ | ||
+ | * https://www.acodersjourney.com/top-25-cplusplus-api-design-mistakes-and-how-to-avoid-them/ | ||
+ | |||
+ | |||
+ | * http://www.hlsl.co.uk/blog/2017/12/1/c-noexcept-and-move-constructors-effect-on-performance-in-stl-containers | ||
== FAQ == | == FAQ == | ||
* [https://isocpp.org/faq isocpp FAQ] | * [https://isocpp.org/faq isocpp FAQ] | ||
+ | * [https://www.toptal.com/c-plus-plus/top-10-common-c-plus-plus-developer-mistakes common c++ mistakes] | ||
== Tools == | == Tools == | ||
Line 234: | Line 292: | ||
=== on line compilers === | === on line compilers === | ||
* C++ Shell, http://www.cpp.sh | * C++ Shell, http://www.cpp.sh | ||
+ | * Compiler explorer, https://godbolt.org/z/e_Wfrd | ||
+ | |||
+ | == Articles == | ||
+ | * [https://weblog.rogueamoeba.com/2008/07/14/the-clang-static-analyzer/ the-clang-static-analyzer] | ||
== blogs == | == blogs == | ||
* [https://isocpp.org/get-started isocpp] | * [https://isocpp.org/get-started isocpp] | ||
− | * [http:// | + | * [http://www.cplusplus.com/ cplusplus.com] |
* [http://en.cppreference.com/w/ cppReferences] | * [http://en.cppreference.com/w/ cppReferences] | ||
+ | * [https://www.acodersjourney.com/ a coders journey] | ||
+ | * [https://www.geeksforgeeks.org/ geeks for geeks] | ||
+ | * [https://codescracker.com/index.htm codescracker] | ||
+ | * [ http://www.cppforschool.com/projects.html cpp for school] | ||
+ | * [http://meetingcpp.com/index.php/books.html Meeting C++, a news site on C++ , new specifications] | ||
* [http://kdab.developpez.com/tutoriels/clazy/cpp-static-analysis/ cpp optimizing with static analysis tools] | * [http://kdab.developpez.com/tutoriels/clazy/cpp-static-analysis/ cpp optimizing with static analysis tools] | ||
* [http://guillaume.belz.free.fr/doku.php C++, Qt, OpenGL, CUDA] | * [http://guillaume.belz.free.fr/doku.php C++, Qt, OpenGL, CUDA] | ||
Line 261: | Line 328: | ||
** [https://github.com/rigtorp/awesome-modern-cpp awesome cpp github] | ** [https://github.com/rigtorp/awesome-modern-cpp awesome cpp github] | ||
* [https://baptiste-wicht.com/ Baptiste Wicht blog] | * [https://baptiste-wicht.com/ Baptiste Wicht blog] | ||
+ | |||
+ | == Libraries == | ||
+ | * https://en.cppreference.com/w/cpp/links/libs | ||
== source code == | == source code == | ||
Line 275: | Line 345: | ||
* http://www.c-jump.com/Download/Patterns/Prototype/html/ | * http://www.c-jump.com/Download/Patterns/Prototype/html/ | ||
* https://github.com/wangqiang8511/C---Design-Patterns-Examples/ | * https://github.com/wangqiang8511/C---Design-Patterns-Examples/ | ||
+ | * https://cpppatterns.com/ | ||
=== modern C++ === | === modern C++ === | ||
Line 284: | Line 355: | ||
* http://www.dreamincode.net/forums/forum/48-c-tutorials/ | * http://www.dreamincode.net/forums/forum/48-c-tutorials/ | ||
* https://cplusplus.awesome-programming.com/en/awesome/cplusplus-04/tutorial | * https://cplusplus.awesome-programming.com/en/awesome/cplusplus-04/tutorial | ||
+ | * http://www.cppforschool.com/projects.html | ||
+ | * https://www.programiz.com/cpp-programming/examples | ||
=== awesome-programming.com === | === awesome-programming.com === | ||
Line 292: | Line 365: | ||
== Books == | == Books == | ||
+ | * [https://www.wiley.com/en-us/Professional+C%2B%2B%2C+4th+Edition-p-9781119421306 Professional C++, Marc Gregroire, 4ieme Edition] | ||
+ | * [https://www.amazon.fr/17-Quick-Syntax-Reference-Language/dp/1484235991/ref=sr_1_1?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&keywords=syntax+C%2B%2B17&qid=1565180628&s=english-books&sr=1-1 C++17 Quick Syntax Reference, Mikael Olsson, APress] | ||
+ | * [http://www.allitebooks.org/c17-standard-library-quick-reference-2nd-edition/ C++17 Standard Library Quick Reference, , Peter Van Weert, Marc Gregroire, Apress] | ||
+ | * [http://www.allitebooks.org/safe-c/ Safe c++] | ||
+ | * [http://www.allitebooks.org/optimized-c/ Optimized C++] | ||
+ | * [http://www.allitebooks.com/clean-c/ Clean c++] | ||
+ | * [https://www.amazon.fr/High-Performance-Boost-optimize-performance/dp/1787120953/ref=sr_1_3?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&keywords=C%2B%2B17&qid=1565180548&s=english-books&sr=1-3 C++ High Performance: Boost and optimize the performance of your C++17 code, Viktor Sehr, Bjorn Andrist, Packt] | ||
+ | * [http://www.allitebooks.com/beginning-c17-5th-edition/ beginning c++17-5th-edition] | ||
+ | * Effective Modern C++ | ||
* Effective C++ | * Effective C++ | ||
* More Effective c++ | * More Effective c++ | ||
* [https://www.amazon.com/Effective-Modern-Specific-Ways-Improve/dp/1491903996 Effective Modern C++] | * [https://www.amazon.com/Effective-Modern-Specific-Ways-Improve/dp/1491903996 Effective Modern C++] | ||
* [https://www.artima.com/shop/effective_cpp_in_an_embedded_environment effective_cpp_in_an_embedded_environment] | * [https://www.artima.com/shop/effective_cpp_in_an_embedded_environment effective_cpp_in_an_embedded_environment] | ||
− | |||
* Exceptional C++ | * Exceptional C++ | ||
− | * More | + | * More Exceptional C++ |
− | + | ||
* Modern C++ | * Modern C++ | ||
− | * | + | * [http://www.allitebooks.org/exploring-c-11-2nd-edition/ Exploring c++11] |
* [https://nostarch.com/cppcrashcourse c++ crash course (no starch press)] | * [https://nostarch.com/cppcrashcourse c++ crash course (no starch press)] | ||
* [http://www.allitebooks.com/c-concurrency-in-action-2nd-edition/ c++ concurrency in action-2nd-edition] | * [http://www.allitebooks.com/c-concurrency-in-action-2nd-edition/ c++ concurrency in action-2nd-edition] | ||
− | |||
− | |||
* [http://www.allitebooks.com/modern-c-programming-with-test-driven-development/ modern c programming with test driven development] | * [http://www.allitebooks.com/modern-c-programming-with-test-driven-development/ modern c programming with test driven development] | ||
* [http://www.allitebooks.com/exploring-c/ exploring c++] | * [http://www.allitebooks.com/exploring-c/ exploring c++] | ||
* [http://www.allitebooks.com/options-and-derivatives-programming-in-c/ options-and-derivatives-programming-in-c++] | * [http://www.allitebooks.com/options-and-derivatives-programming-in-c/ options-and-derivatives-programming-in-c++] |
Latest revision as of 13:15, 22 March 2021
Contents
- 1 C++ programming Language
- 1.1 See also
- 1.2 C++
- 1.2.1 C++ Topics
- 1.2.1.1 Cpp Acronisms
- 1.2.1.2 Fluent Cpp Topics
- 1.2.1.3 auto
- 1.2.1.4 Ranges
- 1.2.1.5 SmartPointers
- 1.2.1.6 RAII, Resource Acquisition is initialization Pattern
- 1.2.1.7 Perfect Forwarding C++ Patterns
- 1.2.1.8 Swap Values C++ Pattern
- 1.2.1.9 more C++ Patterns
- 1.2.1.10 Exceptions
- 1.2.1.11 curried Objects
- 1.2.1.12 C++ templates
- 1.2.1.13 C++ traits
- 1.2.1.14 C++ type Casting
- 1.2.1.15 Learning STL
- 1.2.1.16 Ranges in C++ and STL
- 1.2.1.17 Maker functions in STL
- 1.2.1.18 More C++ Idoms
- 1.2.2 Boost
- 1.2.3 C++ API Design
- 1.2.4 C++ Evolutions
- 1.2.5 C++ Coding Styles
- 1.2.5.1 Iso C++ Coding Style
- 1.2.5.2 https://github.com/isocpp/CppCoreGuidelines Iso C++ Coding Style on Github ]
- 1.2.5.3 C++ Coding Style on Github
- 1.2.5.4 coding-standards
- 1.2.5.5 c++ coding styles by Bjarne and Herb
- 1.2.5.6 Mozilla C++ Coding Style
- 1.2.5.7 Google C++ Coding style
- 1.2.5.8 high-integrity-cpp-coding-standard
- 1.2.6 C++ Portability
- 1.2.7 C++ Testing
- 1.2.1 C++ Topics
- 1.3 Improving your C++
- 1.4 FAQ
- 1.5 Tools
- 1.6 Articles
- 1.7 blogs
- 1.8 Libraries
- 1.9 source code
- 1.10 tutorials
- 1.11 Books
C++ programming Language
See also
C++
- http://www.cplusplus.com/
- https://en.wikipedia.org/wiki/C%2B%2B
- http://www.open-std.org/jtc1/sc22/wg21/
- https://isocpp.org/get-started
- C and C++ compatibility, https://en.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2B
C++ Builder
C++ Standard Library
C++ Topics
Cpp Acronisms
Fluent Cpp Topics
auto
Ranges
SmartPointers
- auto_ptr, deprecated since c++11, it was replaced by unique ptr
- smart-pointers-modern-cpp
- boost smart pointers
RAII, Resource Acquisition is initialization Pattern
Perfect Forwarding C++ Patterns
Swap Values C++ Pattern
more C++ Patterns
Exceptions
- multiple-error-handling-with-the-optional-monad-in-c
- Why doesn't C++ provide a "finally" construct?
- cppreferences
- https://en.cppreference.com/w/cpp/language/exceptions
- https://en.cppreference.com/w/cpp/language/exceptions#cite_ref-1
- https://en.cppreference.com/w/cpp/language/exceptions#cite_ref-2
- https://en.cppreference.com/w/cpp/language/exceptions#cite_ref-3
- https://en.cppreference.com/w/cpp/language/exceptions#cite_ref-4
- https://en.cppreference.com/w/cpp/language/exceptions#cite_ref-5
- https://en.cppreference.com/w/cpp/language/exceptions#cite_ref-6
- https://en.cppreference.com/w/cpp/language/exceptions#cite_ref-7
- https://en.cppreference.com/w/cpp/language/exceptions#cite_ref-8
- https://en.cppreference.com/w/cpp/language/exceptions#cite_ref-9
- https://en.cppreference.com/w/cpp/language/exceptions#cite_ref-10
- https://en.cppreference.com/w/cpp/language/exceptions#cite_ref-11
- https://en.cppreference.com/w/cpp/language/exceptions#cite_ref-12
- https://en.cppreference.com/w/cpp/language/exceptions#cite_ref-13
- isocpp.org
- boost
- stdlib
- DrDobb's
- microsoft
- welcome-back-to-cpp-modern-cpp
- try-throw-and-catch-statements-cpp
- errors-and-exception-handling-modern-cp?
- how-to-design-for-exception-safety
- thread-safety-in-the-cpp-standard-library
- exceptions-and-stack-unwinding-in-cpp
- how-to-interface-between-exceptional-and-non-exceptional-code
- lambda-expressions-in-cpp
- exception-class
- stdexcept
- cpp-language-reference
- cpp-standard-library-reference
curried Objects
C++ templates
C++ traits
C++ type Casting
- https://en.wikipedia.org/wiki/Type_conversion
- https://en.wikipedia.org/wiki/Static_cast
- https://en.wikipedia.org/wiki/Type_punning
- https://fr.wikipedia.org/wiki/Dynamic_cast
- https://openclassrooms.com/courses/c-les-conversions-de-types
- https://stackoverflow.com/questions/28002/regular-cast-vs-static-cast-vs-dynamic-cast
Qt Type Casting
Learning STL
Ranges in C++ and STL
- [https://www.fluentcpp.com/2018/04/13/moving-ranges-stl/ moving-ranges-stl}
- the-difference-between-stdcopy_backward-and-stdcopy-with-reverse-iterators
- inserting-several-elements-into-an-stl-container
- how-to-split-a-string-in-c
Maker functions in STL
- make_ functiona re facility stl foos
- https://docs.microsoft.com/en-us/cpp/standard-library/memory-functions?view=vs-2019#make_unique
- make_unique
- make_shared
More C++ Idoms
- https://en.wikibooks.org/wiki/More_C++_Idioms
- https://herbsutter.com/elements-of-modern-c-style/
- https://cpptruths.blogspot.com/2007/08/new-book-on-c-idioms.html
Boost
C++ API Design
Qt API Design
C++ Evolutions
Support in compilers
Static code analyzer tools
- integrated in Visual Studio C++
- clang power tools for visual studio
- Clang in xCode
- http://cppcheck.net/
ISOCPP
C++ 03
C++ 11
C++ 14
C++ 17
- https://en.wikipedia.org/wiki/C%2B%2B17
- [ https://www.cppindetail.com c++ in details]
C++ 20
C++ Coding Styles
Iso C++ Coding Style
https://github.com/isocpp/CppCoreGuidelines Iso C++ Coding Style on Github ]
C++ Coding Style on Github
coding-standards
c++ coding styles by Bjarne and Herb
Mozilla C++ Coding Style
Google C++ Coding style
high-integrity-cpp-coding-standard
C++ Portability
Using_CXX_in_Mozilla_code
C++ Testing
- https://en.wikipedia.org/wiki/CppUnit
- https://sourceforge.net/projects/cppunit/
- https://freedesktop.org/wiki/Software/cppunit/
- https://freedesktop.org/wiki/Software/cppunit/
Improving your C++
- https://www.acodersjourney.com/top-10-c-header-file-mistakes-and-how-to-fix-them/
- https://www.acodersjourney.com/6-tips-supercharge-cpp-11-vector-performance/
https://www.acodersjourney.com/boost-c11-vector-performance/
- https://www.acodersjourney.com/c-11-auto/
- https://www.acodersjourney.com/top-10-dumb-mistakes-avoid-c-11-smart-pointers/
- https://www.acodersjourney.com/top-15-c-exception-handling-mistakes-avoid/
- https://www.acodersjourney.com/top-20-c-pointer-mistakes/
- https://www.acodersjourney.com/top-20-cplusplus-multithreading-mistakes/
- https://www.acodersjourney.com/insertion-sort/
- https://www.acodersjourney.com/top-25-cplusplus-api-design-mistakes-and-how-to-avoid-them/
FAQ
Tools
Others
- C Reduce
compilers
IDE
- https://www.jetbrains.com/cpp/?gclid=CJblnPaN0dQCFcEp0wod50IDwA&gclsrc=aw.ds.ds&dclid=CIr4_faN0dQCFZc-GwodAhYCWg
- http://www.codeblocks.org
- https://www.kdevelop.org
- https://www.monodevelop.com
- https://visualstudio.microsoft.com/fr/
- https://developer.apple.com/xcode/
on line compilers
- C++ Shell, http://www.cpp.sh
- Compiler explorer, https://godbolt.org/z/e_Wfrd
Articles
blogs
- isocpp
- cplusplus.com
- cppReferences
- a coders journey
- geeks for geeks
- codescracker
- [ http://www.cppforschool.com/projects.html cpp for school]
- Meeting C++, a news site on C++ , new specifications
- cpp optimizing with static analysis tools
- C++, Qt, OpenGL, CUDA
- cppcast john-regehr
- Simplify C++
- comp.lang.c++
- cpp_questions
- Vorbrodt's C++ Blog
- Scott Meyer blog
- 11 free resources for learning c++ programming
- philippegroarke solutions
- accu.org
- solarian programmers' blog
Libraries
source code
Gang Of Four Patterns
Several implementation of Above design patterns in C++
- https://github.com/BartVandewoestyne/Design-Patterns-GoF
- https://github.com/zebmason/GoFRefactored/blob/master/README.md
- http://www.informit.com/articles/article.aspx?p=1404056
- https://www.infoq.com/presentations/gof-patterns-c-plus-plus-boost/
- http://www.c-jump.com/CIS75/Week11/
- http://www.c-jump.com/Download/Patterns/Prototype/html/
- https://github.com/wangqiang8511/C---Design-Patterns-Examples/
- https://cpppatterns.com/
modern C++
- github search, https://github.com/search?q=modern+c%2B%2B
- JSON, https://github.com/nlohmann/json/releases/tag/v3.6.0
tutorials
- http://www.tutswing.com/cplusplus-home
- http://www.dreamincode.net/forums/forum/48-c-tutorials/
- https://cplusplus.awesome-programming.com/en/awesome/cplusplus-04/tutorial
- http://www.cppforschool.com/projects.html
- https://www.programiz.com/cpp-programming/examples
awesome-programming.com
- https://cplusplus.awesome-programming.com/en/awesome/cplusplus-03/course
- https://cplusplus.awesome-programming.com/en/awesome/cplusplus-04/tutorial
- https://cplusplus.awesome-programming.com/en/awesome/cplusplus-02/community
- https://cplusplus.awesome-programming.com/en/awesome/cplusplus-05/youtube
Books
- Professional C++, Marc Gregroire, 4ieme Edition
- C++17 Quick Syntax Reference, Mikael Olsson, APress
- C++17 Standard Library Quick Reference, , Peter Van Weert, Marc Gregroire, Apress
- Safe c++
- Optimized C++
- Clean c++
- C++ High Performance: Boost and optimize the performance of your C++17 code, Viktor Sehr, Bjorn Andrist, Packt
- beginning c++17-5th-edition
- Effective Modern C++
- Effective C++
- More Effective c++
- Effective Modern C++
- effective_cpp_in_an_embedded_environment
- Exceptional C++
- More Exceptional C++
- Modern C++
- Exploring c++11
- c++ crash course (no starch press)
- c++ concurrency in action-2nd-edition
- modern c programming with test driven development
- exploring c++
- options-and-derivatives-programming-in-c++