Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
C++

The Hello World program in C++, compiled with clang++
Release Status Maintained
Last Release C++23
Language(s) C++
Developer(s) Standard C++ Foundation
Website https://isocpp.org/

C++ is a high-level multi-use programming language built on top of the C programming Language to add Object-Oriented Programming features.[1] Originally developed by Bjarne Stroustrup in 1985, from its inception, C++ was designed with key principles in mind: efficient resource usage, high performance, and exceptional flexibility.[2] By the release of C++98 in 1997, the language had evolved significantly, incorporating advanced features like functional programming capabilities and enhanced low-level memory manipulation. These additions greatly expanded its utility, making it a foundational language for developing major operating systems like Linux and Windows, as well as various microcomputer applications.[3] Today, C++ is a wide-spread language, found in a vast array of applications. It powers everything from desktop applications and high-performance video games to robust server systems and precision-critical software. Its versatility has made it a common choice for demanding computing tasks.[4]

C++ is predominantly used as a compiled language, meaning its source code is translated into machine-readable instructions before execution. Numerous companies and vendors offer C++ compilers. Notable examples include g++ from the GNU Compiler Collection and clang++ from LLVM, along with compilers distributed by major tech players like Microsoft, Intel, and IBM.[5]

Despite its widespread adoption, powerful functionality, and flexibility, C++ does face criticism within the programming community. Prominent figures, such as Linus Torvalds, the creator of the Linux Kernel[6], have voiced concerns about certain aspects of the language, among other notable voices.

Since 2012, C++ has followed a predictable three-year release schedule for new versions of its standard. Currently, the active standard is C++23, and the next anticipated release, following this established pattern, will be C++26. This consistent release cycle allows developers and compiler implementers to plan for upcoming features and changes.[7]

Compatibility

With different vendors producing different compilers, there is bound to be some incompatibility. Yet C++ standards committee members have overall decided it was best that the implementation of fixes for a couple of common problems found in many compilers to be solved by the compiler without having a "standardized" way of doing so.

It should also be noted that C++ is not just a version of C with more features. In other words, valid C code might not exactly be valid in C++. Many common examples include OOP features such as classes. The term class in C++ can be used as a variable name in a C program.[8]

Installation

To install support for the C++ Language, ensure you have a viable compiler, it is likely you already have a compiler on a Linux System, to check, you can run:

[user] $ g++ --version
g++ (GCC) 15.1.1 20250425
Copyright (C) 2025 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

If you do not have a compiler, you can install one using your distributions package manager OR you can directly download it from source, these commands will download the GCC-Suite (aka, gcc, g++, etc).

[user] $ sudo apt install build-essential # for apt (Ubuntu/Ubuntu-based)
[user] $ sudo pacman -S base-devel # for pacman (Arch)
[user] $ sudo dnf install gcc-c++ # for dnf (Red Hat/Fedora)
[user] $ sudo xbps-install base-devel # for xbps (Void)
...
[user] $ g++ --version # To verify the installation.
  1. Bjarne Stroustrup, The University of Edinburgh - The Essence of C++: https://www.youtube.com/watch?v=86xWVb4XIyE
  2. Bjarne Stroustrup - The C++ Programming Language:https://archive.org/details/cprogramminglang00stro_0
  3. Bjarne Stroustrup, C++ Applications: https://www.stroustrup.com/applications.html (Accessed 8/2/2025)
  4. ISO/IEC 14882:2024: https://www.iso.org/standard/83626.html
  5. Wikipedia, Category: C++ Compilers https://en.wikipedia.org/wiki/Category:C%2B%2B_compilers (Accessed 8/2/2025)
  6. Linus Torvalds, LWN.net, Re: [RFC] Convert builin-mailinfo.c to use The Better String Library.: https://lwn.net/Articles/249460/ (Accessed 8/2/2025)
  7. Rohit Sharma, C++: Where It's Heading and It's New Features: https://dzone.com/articles/c-where-is-it-heading-and-what-are-the-new-feature (Accessed 8/2/2025)
  8. Itanium C++ ABI: https://itanium-cxx-abi.github.io/cxx-abi/ (Accessed 8/2/2025)