C++ in One Sentence
C++ is a statically typed, compiled programming language that turns your source code directly into native machine code. That single design choice - no interpreter, no virtual machine sitting between your program and the CPU - is the reason C++ is one of the fastest languages you can write, and why it powers the software that absolutely cannot be slow.
Here is the obligatory first program. Run it right here:
There is more structure here than in a scripting language, and that is on purpose - C++ gives you precise control in exchange for being explicit. We will unpack every piece of this over the next few pages.
Why C++ Is Fast
Most scripting languages run your code through an interpreter or a virtual machine that reads and executes instructions at run time. C++ skips all of that:
- A compiler (such as
g++orclang++) reads your.cppsource and translates it into machine instructions for one specific processor and operating system. - The result is a standalone executable that the CPU runs directly - nothing stands between your code and the hardware.
Because there is no translation happening while the program runs, C++ programs start instantly and run at full processor speed. You also get fine-grained control over memory and hardware that higher-level languages deliberately hide from you.
The trade-off: that machine code is built for one platform. An executable compiled on Windows will not run on a Mac - you recompile the source for each target. (Contrast this with Java, which compiles to portable bytecode that runs on any JVM.)
Statically Typed and Multi-Paradigm
Two properties shape how C++ code looks and feels.
Statically typed means every variable has a type known at compile time, and the compiler checks your types before the program ever runs:
count is an int for its entire life; trying to store "hello" in it would not compile. This catches a whole class of mistakes early, at the cost of more typing up front.
Multi-paradigm means C++ does not force one style on you. You can write plain procedural code, organize logic into classes (object-oriented), or use templates for generic, reusable code. Most real programs mix all three. This flexibility is powerful, but it also means C++ has a large surface area to learn - we will take it one concept at a time.
What C++ Is Used For
C++ shows up wherever performance and control are non-negotiable:
- Game engines - Unreal Engine, the core of Unity, and most AAA game code.
- Systems software - operating systems, device drivers, and browsers like Chrome and Firefox.
- High-performance services - databases, trading systems, and search infrastructure where microseconds count.
- Embedded and hardware - firmware for cars, drones, medical devices, and IoT.
If a piece of software has to be fast, fit in tight memory, or talk directly to hardware, there is a good chance it is written in C++.
C++ Is Not C (But It Started There)
C++ grew out of C in the 1980s as "C with classes," and it remains mostly a superset - a lot of valid C code compiles as C++. But the language has grown enormously since then.
C++ adds object-oriented programming, templates for generic code, references, exceptions, and a rich Standard Library full of ready-made tools. This snippet uses one of them, vector - a resizable array that manages its own memory, something you would have to build by hand in C:
Modern C++ (the C++11, C++17, and C++20 standards) leans heavily on tools like these to make the language safer and more expressive than its C roots. A common beginner mistake is writing C-style C++ - manual memory, raw arrays everywhere - when the Standard Library already solves the problem for you. We will favor the modern style throughout these docs.
Next: Installing C++
To write and run C++ on your own machine you need a compiler - usually g++ (part of GCC), clang++, or the MSVC toolchain on Windows. The next page walks through installing one and confirming it works from your terminal.
Frequently Asked Questions
What is C++ used for?
C++ powers software where speed and control matter: game engines (Unreal, Unity's core), operating systems, browsers (Chrome, Firefox), databases, trading systems, and embedded devices. Its strength is running close to the hardware while still offering high-level features like classes, templates, and the Standard Library.
Is C++ compiled or interpreted?
C++ is compiled. A compiler such as g++ or clang++ translates your source code directly into native machine code for a specific CPU and operating system, producing a standalone executable. There is no interpreter or virtual machine between your program and the processor, which is why C++ is so fast.
What is the difference between C and C++?
C++ began as "C with classes" and is mostly a superset of C, so most C code compiles as C++. The big additions are object-oriented programming (classes and inheritance), templates, the Standard Library (containers like vector and map), references, exceptions, and many safety and convenience features C lacks.