Difference between revisions of "CPlusPlus"

From Lost In Wonderlands
Jump to: navigation, search
(See also)
(C++ Testing)
 
(110 intermediate revisions by the same user not shown)
Line 10: Line 10:
 
* https://en.wikipedia.org/wiki/C%2B%2B
 
* https://en.wikipedia.org/wiki/C%2B%2B
 
* http://www.open-std.org/jtc1/sc22/wg21/
 
* 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++ Builder
Line 16: Line 21:
 
C++ Standard Library
 
C++ Standard Library
 
* 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 ===
 +
 +
* [http://thbecker.net/articles/rvalue_references/section_01.html rValue]
 +
* [https://accu.org/index.php/journals/227 lValue and rValue]
 +
* [https://isocpp.org/blog/2012/11/universal-references-in-c11-scott-meyers &&]
 +
* [https://en.wikipedia.org/wiki/Decltype Decltype]
 +
* [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]
 +
 +
====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] ====
 +
 +
==== auto ====
 +
* [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]
 +
 +
==== 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 ====
 +
* auto_ptr, deprecated since c++11, it was replaced by unique ptr
 +
** [https://stackoverflow.com/questions/3697686/why-is-auto-ptr-being-deprecated why-is-auto-ptr-being-deprecated]
 +
 +
 +
*[https://www.internalpointers.com/post/beginner-s-look-smart-pointers-modern-c beginner-s-look-smart-pointers-modern-c++]
 +
 +
 +
*[https://www.fluentcpp.com/2017/08/22/smart-developers-use-smart-pointers-smart-pointers-basics / knowing-your-smart-pointers series]
 +
 +
 +
*[https://docs.microsoft.com/en-us/cpp/cpp/smart-pointers-modern-cpp?view=vs-2019 smart-pointers-modern-cpp]
 +
**https://docs.microsoft.com/en-us/cpp/cpp/how-to-create-and-use-unique-ptr-instances?view=vs-2019
 +
*** https://docs.microsoft.com/en-us/cpp/standard-library/unique-ptr-class?view=vs-2019
 +
*[https://www.boost.org/doc/libs/1_36_0/libs/smart_ptr/smart_ptr.htm boost smart pointers]
 +
** https://docs.microsoft.com/en-us/cpp/cpp/how-to-create-and-use-shared-ptr-instances?view=vs-2019
 +
*** https://docs.microsoft.com/en-us/cpp/standard-library/shared-ptr-class?view=vs-2019
 +
** https://docs.microsoft.com/en-us/cpp/cpp/how-to-create-and-use-weak-ptr-instances?view=vs-2019
 +
*** https://docs.microsoft.com/en-us/cpp/standard-library/weak-ptr-class?view=vs-2019
 +
 +
==== [https://en.wikipedia.org/wiki/Resource_acquisition_is_initialization RAII, Resource Acquisition is initialization Pattern] ====
 +
* [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 ====
 +
* [https://www.fluentcpp.com/2017/07/04/multiple-error-handling-with-the-optional-monad-in-c/ multiple-error-handling-with-the-optional-monad-in-c]
 +
* Why doesn't C++ provide a "finally" construct?
 +
** [https://stackoverflow.com/questions/161177/does-c-support-finally-blocks-and-whats-this-raii-i-keep-hearing-about, No, C++ does not support 'finally' blocks ] 
 +
** [http://www.stroustrup.com/bs_faq2.html#finally Why doesn't C++ provide a "finally" construct? by Bjarne Stroustrup]
 +
* 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
 +
** [https://isocpp.org/wiki/faq/exceptions exceptions]
 +
*** [https://isocpp.org/wiki/faq/exceptions#what-to-catch what-to-catch]
 +
*** [https://isocpp.org/wiki/faq/exceptions#what-to-throw what-to-throw]
 +
*** [https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#e14-use-purpose-designed-user-defined-types-as-exceptions-not-built-in-types e14-use-purpose-designed-user-defined-types-as-exceptions-not-built-in-types]
 +
*** [https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#e15-catch-exceptions-from-a-hierarchy-by-reference e15-catch-exceptions-from-a-hierarchy-by-reference]
 +
*** [https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#i10-use-exceptions-to-signal-a-failure-to-perform-a-required-task i10-use-exceptions-to-signal-a-failure-to-perform-a-required-task]
 +
* boost
 +
** [https://www.boost.org/community/error_handling.html error_handling]
 +
** [https://www.boost.org/community/exception_safety.html exception_safety]
 +
*stdlib
 +
** [http://stroustrup.com/3rd_safe.pdf safe exceptions in stdlib]
 +
* DrDobb's
 +
** [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
 +
** [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/errors-and-exception-handling-modern-cpp?view=vs-2019  errors-and-exception-handling-modern-cp?]
 +
** [https://docs.microsoft.com/en-us/cpp/cpp/how-to-design-for-exception-safety?view=vs-2019 how-to-design-for-exception-safety]
 +
** [https://docs.microsoft.com/en-us/cpp/standard-library/thread-safety-in-the-cpp-standard-library?view=vs-2019 thread-safety-in-the-cpp-standard-library]
 +
** [https://docs.microsoft.com/en-us/cpp/cpp/exceptions-and-stack-unwinding-in-cpp?view=vs-2019 exceptions-and-stack-unwinding-in-cpp]
 +
** [https://docs.microsoft.com/en-us/cpp/cpp/how-to-interface-between-exceptional-and-non-exceptional-code?view=vs-2019 how-to-interface-between-exceptional-and-non-exceptional-code]
 +
** [https://docs.microsoft.com/en-us/cpp/cpp/lambda-expressions-in-cpp?view=vs-2019 lambda-expressions-in-cpp]
 +
** [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/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]
 +
 +
==== curried Objects ====
 +
* [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]
 +
 +
==== C++ templates ====
 +
* https://www.geeksforgeeks.org/templates-cpp/
 +
 +
==== C++ traits ====
 +
* [https://en.wikipedia.org/wiki/Trait_(computer_programming) traits]
 +
* [https://accu.org/index.php/journals/442 c++ traits]
 +
* [https://www.developpez.net/forums/d1864075/c-cpp/cpp/traits-cpp/ developpez.net]
  
=== C++ type Casting ===
+
==== C++ type Casting ====
 
* https://en.wikipedia.org/wiki/Type_conversion
 
* https://en.wikipedia.org/wiki/Type_conversion
 
* https://en.wikipedia.org/wiki/Static_cast
 
* https://en.wikipedia.org/wiki/Static_cast
Line 25: Line 145:
 
* https://stackoverflow.com/questions/28002/regular-cast-vs-static-cast-vs-dynamic-cast
 
* https://stackoverflow.com/questions/28002/regular-cast-vs-static-cast-vs-dynamic-cast
  
==== Qt Type Casting ====
+
===== Qt Type Casting =====
 
* https://stackoverflow.com/questions/4518163/how-does-qobject-cast-work
 
* https://stackoverflow.com/questions/4518163/how-does-qobject-cast-work
 +
 +
==== [http://www.fluentcpp.com/STL/ Learning STL] ====
 +
 +
 +
==== Ranges in C++ and STL ====
 +
* [https://www.fluentcpp.com/2018/04/13/moving-ranges-stl/ moving-ranges-stl}
 +
* [https://www.fluentcpp.com/2019/05/31/the-difference-between-stdcopy_backward-and-stdcopy-with-reverse-iterators/ the-difference-between-stdcopy_backward-and-stdcopy-with-reverse-iterators]
 +
* [https://www.fluentcpp.com/2017/03/28/inserting-several-elements-into-an-stl-container/ inserting-several-elements-into-an-stl-container]
 +
*[https://www.fluentcpp.com/2017/04/21/how-to-split-a-string-in-c/ how-to-split-a-string-in-c]
 +
 +
==== Maker functions in STL ====
 +
 +
* make_ functiona re facility stl foos
 +
** [https://en.cppreference.com/mwiki/index.php?title=Special%3ASearch&search=make_ make_]
 +
* https://docs.microsoft.com/en-us/cpp/standard-library/memory-functions?view=vs-2019#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]
 +
 +
 +
==== 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 ===
 +
* https://www.boost.org
 +
 +
 +
=== C++ API Design ===
 +
* [https://www.acodersjourney.com/top-25-cplusplus-api-design-mistakes-and-how-to-avoid-them/ top-25-cplusplus-api-design-mistakes-and-how-to-avoid-them]
 +
 +
==== Qt  API Design ====
 +
* [https://wiki.qt.io/API_Design_Principles Qt API_Design_Principles]
 +
* [https://doc.qt.io/archives/qq/qq13-apis.html Qt archives qq13-apis.html]
 +
* [https://people.mpi-inf.mpg.de/~jblanche/api-design.pdf jblanche/api-design.pdf]
  
 
=== C++ Evolutions ===
 
=== C++ Evolutions ===
  
C++ 11
+
==== Support in compilers ====
 +
* [https://gcc.gnu.org/projects/cxx-status.html support in GCC]
 +
* [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++]
 +
 
 +
==== 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====
 +
* https://isocpp.org/std/status
 +
 
 +
====C++ 03====
 +
* https://en.wikipedia.org/wiki/C%2B%2B03
 +
 
 +
====C++ 11====
 
* https://fr.wikipedia.org/wiki/C%2B%2B11
 
* https://fr.wikipedia.org/wiki/C%2B%2B11
 +
*https://herbsutter.com/elements-of-modern-c-style/
  
C++ 14
+
====C++ 14====
 
* https://fr.wikipedia.org/wiki/C%2B%2B14
 
* https://fr.wikipedia.org/wiki/C%2B%2B14
  
C++ 17
+
====C++ 17====
 +
* https://en.wikipedia.org/wiki/C%2B%2B17
 +
* [ https://www.cppindetail.com c++ in details]
  
 +
====C++ 20====
 +
* https://en.wikipedia.org/wiki/C%2B%2B20
  
 
=== C++ Coding Styles ===
 
=== C++ Coding Styles ===
Iso C++ Coding Style
+
==== [http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines Iso C++ Coding Style ] ====
* https://isocpp.org/wiki/faq/coding-standards
+
==== https://github.com/isocpp/CppCoreGuidelines Iso C++ Coding Style on Github ] ====
* https://github.com/cplusplus/draft
+
==== [https://github.com/cplusplus/draft  C++ Coding Style on Github ] ====
 +
==== [https://isocpp.org/wiki/faq/coding-standards coding-standards] ====
 +
==== [https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md c++ coding styles by Bjarne and Herb] ====
 +
==== [https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style Mozilla C++ Coding Style] ====
 +
==== [https://google.github.io/styleguide/cppguide.html Google C++ Coding style] ====
 +
==== [https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard high-integrity-cpp-coding-standard] ====
  
c++ coding styles by Bjarne and Herb
+
=== C++ Portability ===
* https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md
+
  
Mozilla C++ Coding Style
+
====[https://developer.mozilla.org/en-US/docs/Mozilla/Using_CXX_in_Mozilla_code Using_CXX_in_Mozilla_code]====
* https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style
+
 
+
Google C++ Coding style
+
* https://google.github.io/styleguide/cppguide.html
+
  
 
=== C++ Testing ===
 
=== C++ Testing ===
Line 64: 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 ==
 +
* [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 72: Line 276:
 
**  https://embed.cs.utah.edu/creduce/using/
 
**  https://embed.cs.utah.edu/creduce/using/
 
**  https://github.com/csmith-project/creduce
 
**  https://github.com/csmith-project/creduce
 +
 +
=== compilers ===
 +
* https://clang.llvm.org
 +
* https://llvm.org
 +
* https://gcc.gnu.org
  
 
=== IDE ===
 
=== IDE ===
 
* https://www.jetbrains.com/cpp/?gclid=CJblnPaN0dQCFcEp0wod50IDwA&gclsrc=aw.ds.ds&dclid=CIr4_faN0dQCFZc-GwodAhYCWg
 
* 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 ===
 
=== 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 ==
* [http://meetingcpp.com/index.php/books.html Meeting C++, a news site on C++ , new specifications]
+
* [https://isocpp.org/get-started isocpp]
 +
* [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]
 
* [http://cppcast.com/2019/02/john-regehr/ cppcast john-regehr]
 
* [http://cppcast.com/2019/02/john-regehr/ cppcast john-regehr]
 +
* [https://arne-mertz.de/2019/03/macro-evil/ Simplify C++]
  
 
* [https://www.fluentcpp.com Fluent{C++}]
 
* [https://www.fluentcpp.com Fluent{C++}]
Line 94: Line 319:
 
* [https://twitter.com/mvorbrodt/ Vorbrodt's C++ Blog]
 
* [https://twitter.com/mvorbrodt/ Vorbrodt's C++ Blog]
 
* [https://www.aristeia.com/ Scott Meyer blog]
 
* [https://www.aristeia.com/ Scott Meyer blog]
 +
* [https://interestingengineering.com/11-free-resources-for-learning-c-c-programming? 11 free resources for learning c++ programming]
 +
* [https://philippegroarke.com/posts/2018/c++_ui_solutions/ philippegroarke solutions]
 +
* [https://accu.org/index.php/journals/442https://accu.org/index.php/journals/442 accu.org]
 +
* [https://solarianprogrammer.com solarian programmers' blog]
 +
 +
* [https://cplusplus.awesome-programming.com/en/awesome/cplusplus-02/community awesome-programming  community]
 +
* [https://awesomecpp.com/ awesome cpp]
 +
** [https://github.com/rigtorp/awesome-modern-cpp awesome cpp github]
 +
* [https://baptiste-wicht.com/ Baptiste Wicht blog]
 +
 +
== Libraries ==
 +
* https://en.cppreference.com/w/cpp/links/libs
 +
 +
== source code ==
 +
 +
=== Gang Of Four Patterns ===
 +
* https://en.wikipedia.org/wiki/Design_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 ==
 
== tutorials ==
 
* http://www.tutswing.com/cplusplus-home
 
* http://www.tutswing.com/cplusplus-home
 
* 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
 +
* 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 ==
 
== 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]
* Thinking in C++
 
 
* Exceptional C++
 
* Exceptional C++
* More Exceptionnal C++
+
* More Exceptional C++
* [http://shop.oreilly.com/product/0636920024224.do Safe C++]
+
 
* Modern C++
 
* Modern C++
* Exploring c++11, https://books.google.pl/books?id=jZoQAwAAQBAJ&pg=PA592&lpg=PA592&dq=ICS+C%2B%2B&source=bl&ots=Y6wvPJAdLP&sig=yPgJS3xjnTZAGY7_0wwxFBAyrUI&hl=en&sa=X&ved=0ahUKEwjzjfaM_tDUAhUBYVAKHQkJBCsQ6AEIYjAJ#v=onepage&q=ICS%20C%2B%2B&f=false
+
* [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/beginning-c17-5th-edition/ beginning c++17-5th-edition]
 
* [http://www.allitebooks.com/clean-c/ clean c++]
 
 
* [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

C++ programming Language

See also

C++



C++ Builder

C++ Standard Library

C++ Topics

Cpp Acronisms

Fluent Cpp Topics

auto

Ranges

SmartPointers




RAII, Resource Acquisition is initialization Pattern

Perfect Forwarding C++ Patterns

Swap Values C++ Pattern

more C++ Patterns

Exceptions

curried Objects

C++ templates

C++ traits

C++ type Casting

Qt Type Casting

Learning STL

Ranges in C++ and STL

Maker functions in STL


More C++ Idoms

Boost


C++ API Design

Qt API Design

C++ Evolutions

Support in compilers

Static code analyzer tools

ISOCPP

C++ 03

C++ 11

C++ 14

C++ 17

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

CppUnit

Google Test


boost test

Catch2

Improving your C++

https://www.acodersjourney.com/boost-c11-vector-performance/


FAQ

Tools

Others

compilers

IDE

on line compilers

Articles

blogs

Libraries

source code

Gang Of Four Patterns

Several implementation of Above design patterns in C++

modern C++

tutorials

awesome-programming.com

Books