C++ is a general-purpose programming language released as an extension of the C language in 1983, although its origins go back to 1979 when it was known as C with classes.
Designed by Bjarne Stroustrup, a Danish computer scientist, at Bell Labs, the language is still active, and one of the more popular programming languages in the world, with updates being released every few years.
There are two main components to the language. A direct mapping of hardware features is provided by the C subset, and zero-overhead abstractions based on those mappings. The language offers both hardware access and abstraction.
The C++ standard consists of the core language and the standard library, the latter of which includes aggregate types (arrays, lists, maps, queues, sets, stacks, tuples, and vectors), algorithms (binary_search, find, for_each, random_shuffle), atomics support, a filesystem library, input-output facilities (iostream), localization support, a multi-threading library, regular expression, smart pointers, support, time utilities, a system for converting error reporting, a random number generator, and a modified version of the C standard library.
Implementations that use C++ include GCC, LLVM Clang, EDG, Embarcadero C++ Builder, IBM XL C++, Intel C++ Compiler, and Microsoft Visual C++. Except where we have enough listed sites to warrant a category of their own, they will be listed here, as well.
Appropriate resources for this category include those representing of focused on the C++ programming language or its implementations. Tutorials and user communities for C++ programmers may be listed here as well.
 
 
Recommended Resources
Featuring a curated list of C/C++ frameworks, libraries, and other programming resources, sorted by category, project, and tag. Categories include, but are not limited to, artificial intelligence, asynchronous event loop, audio, biology, BitTorrent, CLI, compression, concurrency, containers, cryptography, CSV, database, data structures, debug, frameworks, game engine, graphics, GUI, hooking, IDE, image processing, internationalization, and others.
https://cpp.libhunt.com/
Created by Joseph Mansfield, the patterns displayed on the site are generated from a git repository. A featured pattern is highlighted at the top of the page, including its intent, description, and usage and licensure information. Other patterns are sorted according to classes, concurrency, containers, functions, input streams, memory management, output streams, random number generation, ranges, templates, time, behavioral, and creational.
https://cpppatterns.com/
Used for trying out simple programming routines, C++ Shell is a simple front end for a GCC compiler, using GCC 4.92, with Boost 1.55 available. Applications developed in the front end are sandboxed, so certain system calls may fail. Options include standard C++98, C++11, or C++14, a choice of warnings (many, extra, and pedantic), optimization levels (none, moderate, full, or maximum), and standard input (none, interactive, or text). Programs may be run from the browser.
http://www.cpp.sh/
The independently operated C++ user group includes general information about the C++ programming language, including non-technical documents and descriptions, a collection of tutorials from the most basic to the advanced levels of expertise, descriptions of the most important classes, functions, and objects of the Standard Language Library, with descriptive fully-functional short programs, user-contributed articles, and user message boards.
http://www.cplusplus.com/
Privately operated, the site is powered by MediaWiki, offering information and links to resources for compiler support, freestanding implementations, basic concepts and additional instruction on the C++ programming language, headers, named requirements, test macros, and libraries for language support, concepts, diagnostics, general utilities, strings, containers, iterators, ranges, algorithms, numerics, input/output, localizations, regular expressions, atopic operations, and thread support.
https://en.cppreference.com/
Flexible Library for Efficient Numerical Solutions (Trinity)
Trinity is an upgrade to FLENS, a project library for scientific computing which extends C++ for matrix and vector types that are ideally suited for numerical linear algebra. C++ is a programming language for writing libraries, and FLENS (Trinity) is a C++ library for writing numerical linear algebra libraries. Its purpose, features, examples, a tutorial, and compiler requirements are stated. Contributors are acknowledged, and FLENS may be downloaded.
http://apfel.mathematik.uni-ulm.de/~lehn/FLENS/
Offering coding information on writing expressive code in C++, the site is a project of Jonathan Boccara. Although it is not a step-by-step tutorial, the site publishes informational articles on related topics, including what the author refers to as Dailies, which are ten-minute presentations, posted every day. The site also includes a world map of C++ STL algorithms, which is a visual representation of the families and easy access for reference. Guest posts are also welcomed.
https://www.fluentcpp.com/
From Interactive Tutorials, Learn CPP is a free interactive C++ tutorial, funded through advertising, the idea being to teach coding within the browser using short and effective exercises. By running actual code from the web browser, students can try out coding without installing and executing it locally, resulting in a more effective learning process. Basic and advanced programming instructions are provided, along with integrated and spiral learning.
https://www.learn-cpp.org/
MSVC is an integrated development environment (IDE) from Microsoft for the C, C++, and C++/CLI programming languages. This site features documentation for Visual C++, including links and instructions for installing Visual Studio, choosing C++ workloads, getting started with Visual Studio and C++, and an overview of any new developments. Full documentation for the use of the IDE in various workloads is put forth, along with its features, languages, and libraries.
https://docs.microsoft.com/en-us/cpp/
Based on the editing component, Scintilla, Notepad++ is written in C++ and uses pure Win32 API and STL, the free source code editor and Notepad replacement support several languages. Released under GPL License, it may be downloaded from the site, along with the source code. Its features are put forth, along with a help section, source code repository access, Notepad++ECCN, VPAT for Notepad++, binary translations, and plugins. Contributors are acknowledged.
https://notepad-plus-plus.org/
Also known as the POrtable COmponents C++ Libraries, the Poco C++ Libraries are a set of class libraries for developing applications in the C++ programming language. Distributed under the Boost Software License, they are free and open-source software providing C++ programmers with library support similar to that found in other development environments, like the Java Class Library and the .NET Framework. It may be downloaded from the site, which also includes documentation.
https://pocoproject.org/
Funded by sponsor members, book royalties, and CppCon proceeds, the non-profit organization was founded for the purpose of promoting the use and understanding of standard C++, and to support the C++ software development community. Its membership policies are put forth, its financial assistance policies are defined, and affiliated sites are listed. Included is an introduction to C++, with links to compilers and other resources, core guidelines, and standardization.
https://www.isocpp.org/