C++ is one of the most popular programming languages in the world and was created by Bjarne Stroustrup.


Unlike some other languages that have only one official compiler there are a number of different implementations of C++ available. A few of the better known ones:

  • Microsoft Visual C++ Compiler – A free compiler from Microsoft which can be used as a stand-alone or integrated with Microsoft’s product line including Visual Studio and Visual Studio Code.
  • Clang / LLVM – A free and open source compiler, Clang is the front-end for the LLVM back-end, neither of which is C++ specific.
  • GNU Compiler Collection (GCC) – The best known free and open source C++ compiler, it has long been the standard on non-Windows operating systems although Clang / LLVM has begun to encroach on GCC’s territory. Again, not limited to C++ only.

These are the three main options that are available. However it is worth noting a few other common ways you may see C++ compilers referenced:

  • Cygwin – Implements many *nix tools, including GCC, on Windows.
  • MinGW – Also implements many *nix tools, including GCC, on Windows.
    • Note: This one hasn’t been updated since 2013 but is still popular.
    • Mingw-w64 – Forked from MinGW in 2007 and continues to release new versions for 32-bit and 64-bit architectures.
  • Xcode – A set of development tools which includes LLVM to provide C++ compilation.

If you want to learn about even more options here are some places to look.

Integrated Development Environments (IDEs)

There are a number of IDEs available for C++, we’ll cover only a few of the most popular.

For more comprehensive coverage of C++ IDE options see the following:

Overview Articles

For other articles which provide an overview of C++ see the following: