C++ Introduction

What Is C++?
C++ is a general-purpose compiled programming language. It extends C with object-oriented features such as classes, inheritance, and polymorphism, while keeping low-level control for performance-critical software.
Pipeline:
source (.cpp) → compile → link → executable
I/O: #include <iostream>, std::cout / std::cin
Entry: int main()
Build: g++ file.cpp -std=c++17 -Wall -o out C++ powers games, browsers, operating systems, and embedded systems. This page is the gateway to the C++ tutorials—patterns, strings, and interview programs have their own pages.
Why Use C++?
Bjarne Stroustrup created “C with Classes” at Bell Labs so large projects could stay as efficient as C. The name C++ (C incremented) appeared in 1983.
| Need | How C++ helps |
|---|---|
| High performance | Compiles to native machine code with fine-grained control |
| Large codebases | Classes, namespaces, and the STL organize complex projects |
| Systems & games | Used in engines, browsers, OS tooling, and firmware |
| Modern features | C++11 onward adds smart pointers, auto, ranges, and more |
Key milestones
| Milestone | Year | Notes |
|---|---|---|
| C with Classes | 1979 | Bjarne Stroustrup, Bell Labs |
| Name “C++” | 1983 | ++ means increment in C |
| ISO C++98 | 1998 | First major standard |
| C++11 / 17 / 20 | 2011+ | Modern C++ era |
How a C++ Program Runs
Unlike interpreted languages, C++ is built before it runs. Keep this pipeline in mind.
| Step | What happens | Tool |
|---|---|---|
| Write | Edit a .cpp source file | VS Code, Visual Studio, CLion… |
| Compile | Translate source to object code | g++, Clang, MSVC |
| Link | Combine objects and libraries into one binary | Linker (often invoked by g++) |
| Run | OS starts the executable; main runs | Terminal / IDE run button |
Cheat sheet — building blocks
| Concept | Role |
|---|---|
| Variables & types | int, double, char, bool |
| Control flow | if, loops, switch |
| Functions | Reusable logic; overloading allowed |
| Classes & OOP | Encapsulation, inheritance, polymorphism |
| STL | vector, string, map, algorithms |
| RAII | Resources tied to object lifetime (smart pointers) |
What Does a C++ Program Look Like?
A minimal console program prints a line and exits with status 0:
#include <iostream>
int main() {
std::cout << "Hello, World!" << std::endl;
return 0;
} | Part | Meaning |
|---|---|
#include <iostream> | Header for console input/output |
std::cout | Standard output stream |
<< | Stream insertion operator |
std::endl | Newline and flush |
int main() | Program entry point |
Prefer std:: prefixes in shared code. In tiny learning snippets, using namespace std; is acceptable but avoid it in headers.
C++ vs C
If you know C, map the ideas like this:
| C | C++ |
|---|---|
printf / scanf | std::cout / std::cin |
| Structs + functions | Classes with member functions |
Manual arrays / malloc | std::vector, smart pointers |
| No namespaces | std:: and your own namespaces |
| No overloading | Function and operator overloading |
| Procedural focus | Multi-paradigm (OOP + generic + procedural) |
Same idea, two styles
Print a greeting:
#include <stdio.h>
int main(void) {
printf("Hello, World!\n");
return 0;
} #include <iostream>
int main() {
std::cout << "Hello, World!" << std::endl;
return 0;
} When to choose which
| Prefer C++ when… | Prefer C when… |
|---|---|
| You want OOP, the STL, and modern abstractions | You need a tiny procedural footprint |
| Games, engines, and large application code | Kernels, drivers, or strict C toolchains |
| You can use RAII and containers safely | Your team and APIs are C-first |
Compile and Run Your First Program
Save the hello program as hello.cpp, then build it with g++. Compile-time checks catch many type errors before the program runs.
g++ hello.cpp -std=c++17 -Wall -o hello
./hello # Linux / macOS
hello.exe # Windows How It Works
1. Compile. g++ reads hello.cpp, applies the C++17 standard, and writes an executable named hello.
2. Warnings. -Wall turns on useful warnings—fix them while you learn.
3. Run. Starting the executable calls main, which prints via std::cout.
Use g++ (not only gcc) for .cpp files so the C++ runtime links correctly. Next, practice logic with C++ interview programs.
Where Is C++ Used?
Common workloads where performance and control matter:
| Use case | Why C++ fits |
|---|---|
| Game engines | Frame budgets need native speed (for example Unreal) |
| Browsers & OS tooling | Large codebases with tight performance loops |
| Embedded & IoT | Predictable control over memory and hardware |
| Finance & trading | Low-latency path from market data to decisions |
| Graphics & simulation | Heavy numeric work close to the metal |
| High-performance libraries | Other languages often call into C++ cores |
Key Takeaways
- C++ is a compiled language that extends C with OOP and the STL.
- Pipeline: write → compile → link → run.
- Start with:
#include <iostream>,std::cout, andint main(). - Build:
g++ file.cpp -std=c++17 -Wall -o out.
One line: C++ compiles to fast native code—next, practice with interview programs.
Frequently Asked Questions
Did you know?
C++ was created by Bjarne Stroustrup as “C with Classes.” The name uses the ++ increment operator—literally “C plus one.” Compile with g++ file.cpp -std=c++17 -Wall -o out.
Next: C++ Interview Programs
Practice loops, conditions, and classic number problems in C++.
11 people found this page helpful
