_/ _/
_/_/_/ _/_/_/ _/_/_/ _/ _/_/_/ _/_/_/ _/_/_/
_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/
_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/
_/_/_/ _/_/_/ _/_/_/ _/ _/ _/ _/ _/_/_/ _/_/_/
_/ _/ _/
_/ _/ _/_/
Rustlings-style exercises for learning modern C++, built on:
curl -fsSL https://raw.githubusercontent.com/leissa/cpplings/refs/heads/master/tools/install.sh | bashcd cpplings
./cpplingsThis walks you through the exercises one by one, watching your files for changes and re-running them as you fix each one.
usage: cpplings [-h] {list,run,verify,watch,watch-all} ...
positional arguments:
{list,run,verify,watch,watch-all}
list List available exercises
run Run a specific exercise
verify Verify all exercises
watch Watch a specific exercise
watch-all Watch all exercises (default)
options:
-h, --help show this help message and exit
The course concludes with a
ray tracer
(exercises/05_capstone/P4_raytracer.cpp).
It renders 3D scenes of spheres and triangles into a PNG image, with
Phong lighting, shadows
and mirror reflections — pulling together classes, overloaded operators,
inheritance with virtual methods, std::optional, std::unique_ptr and
std::vector. See
exercises/05_capstone/README.md for details.
![]() | ![]() | ![]() |
cornell.txt | spheres.txt | mirrors.txt |
![]() | ![]() | ![]() |
pyramid.txt | example.txt | test.txt |
This tool follows the Modern C++ Programming course by Federico Busato.





