Exercism v3 launches on Sept 1st 2021. Learn more! 🚀🚀🚀

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

28 Mentors

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

34,528 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

The reviews are incredibly helpful because they help me see things that I missed, learn about new ways and sometimes interesting discussions that can add a fun twist to maybe a simple problem.

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 Makan Taghizadeh

Makan Taghizadeh https://github.com/MakanTaghizadeh

Developing C++ professionally in some projects, such as Real-time Applications, IoTs and Games, I've found C/C++ the most influential invention of the century.
Avatar of Shankar Shastri

Shankar Shastri GitHub Profile

Lover Of Pure Functional Programming.
Avatar of Oleksandr Halushko

Oleksandr Halushko https://github.com/AlexLeSang

I like C++ for the power it puts in the hands of the developer and I believe that mastering a powerful and versatile tool craftsman grows
Avatar of Zach Banducci

Zach Banducci

I have been using C++ for the past 2 years and I am a data structures teaching assistant. I have experience in program architecture and object oriented programming and I am here to help you in your ventures in becoming computer scientists!
Avatar of Gaurav Chakravorty

Gaurav Chakravorty https://github.com/gauravchak

I have used C++ at work for 15 years. I aspire for performance in my coding.
Avatar of Zhuoqun Chen

Zhuoqun Chen https://github.com/zq-chen

I have 7+ years of experience in C++ and systems programming. Learning C++ is admittedly not the easiest thing. Hope I can make it a little easier for those who want to master this great language.
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.

Sum Of Multiples
easy
math
Pascal's Triangle
easy
arrays
math
Difference Of Squares
easy
math
loops
Leap
easy
logic
conditionals
Triangle
easy
conditionals
Two Fer
easy
optional values
strings
text formatting

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

Join the C++ Track