C++

Join the C++ Track
C++ is a general-purpose programming language that supports procedural, object-oriented, generic and functional programming styles. C++ is deployed on billions of devices from the smallest embedded microprocessor to the largest supercomputer.
Join the C++ Track
Track mentors

23 Mentors

Our mentors are friendly, experienced C++ developers who will help teach you new techniques and tricks.
Track students

15,291 Students

Join thousands of students who have enjoyed learning and improving their skills by taking this track.
Track exercises

55 Exercises

Hundreds of hours have gone into making these exercises fun, useful, and challenging to help you enjoy learning.

About C++

#include "hello_world.h"

namespace hello_world {

std::string hello()
{
    return "Hello, World!";
}

}

C++ (pronounced cee plus plus) is a general purpose programming language developed by Bjarne Stroustrup starting in 1979 at Bell Labs. It is immensely popular, particularly for applications that require speed and/or access to some low-level features. It is considered to be an intermediate level language, as it encapsulates both high and low level language features.

C++ supports procedural, object-oriented, functional and generic programming. Compilers for C++ are available for essentially every platform, including Windows, Mac OS, and Linux.

Key Benefits:

  • Type safety: Encapsulate necessary unsafe operations
  • Resource safety: Not all resource management is managing memory
  • Performance: For some parts of almost all systems, it's important
  • Predictability: For hard and soft real-time systems
  • Teachability: Complexity of code should be proportional to the complexity of the task
  • Readability: People and machines ("analyzability")
  • Direct map to hardware: of instructions and fundamental data types
  • Zero-overhead abstraction: Classes with constructors and destructors, inheritance, generic programming, functional programming techniques

The standard for C++ is maintained by the International Organization for Standardization (ISO), and the current version of C++ as of June 2018 is C++17 (named not as the 17th version of C++, but rather signifying that the standard was ratified in 2017).

The best thing about C++ is that it runs on everything from embedded processors with very limited resources to the largest mainframe supercomputer and every personal computer in between.

Join the C++ track

Exercism is a great website

Exercism is a great website where I was able to have some very interesting challenges.

Relaxed. Encouraging. Supportive.

Meet the C++ Track mentors

Once you join the C++ language track, you will receive support and feedback from our team of mentors. Here are the bios of a few of the mentors of this track.

Avatar of Cory Lamontagne

Cory Lamontagne https://github.com/corylamontagne

Professional C++ dev who loves learning and mentoring, currently pursuing a masters in Data Analytics. Also, a student here on the Rust and R tracks (at least).
Avatar of Alexios Lyrakis

Alexios Lyrakis

Until now I have worked mainly with C. However, through my master in Embedded Systems I discovered the power of C++. I love the power and the flexibility of this language.
Avatar of Doug Whitley

Doug Whitley https://github.com/TsebMagi

I've been using C# for personal projects in Unity for a little over a year and love the balance it strikes between readiblity and functionality.
Avatar of Chad Gorshing

Chad Gorshing https://blog.gorshing.net

Currently working on a large project in C++ so working on my chops along with the rest of you all, trying to give back to help out others.
Avatar of Alex Guglielmone Nemi (Alex Hans)

Alex Guglielmone Nemi (Alex Hans) The Living Deadline - Alex Hans Blog

With 10+ years in software/product development, I love to be in a constant learning state and to help others in their journeys. Mentoring on a site that focuses on encouraging critical skills and idiomatic code is an extremely enriching experience.
Avatar of Jörn Teuber

Jörn Teuber https://github.com/jaytea

C++ was the second programming language I learned and it has been my favorite ever since. That has been 14 years ago. I love it for its speed and explicity.
Fun. Challenging. Interesting

Community-sourced C++ exercises

These are a few of the 55 exercises on the C++ track. You can see all the exercises here.

RNA Transcription
easy
strings
Allergies
easy
bitwise operations
filtering
Reverse String
easy
strings
Roman Numerals
medium
strings
Collatz Conjecture
easy
functions
math
All Your Base
medium
algorithms
integers
loops
math

Get started with the C++ track. As with everything on Exercism, it's 100% free!

Join the C++ Track