.. meta:: :description: C and C++ Programming Courses :keywords: schulung, training, programming, c, c++ C and C++ Programming ===================== .. sidebar:: .. grid:: 1 .. grid-item:: .. button-ref:: course-info :ref-type: ref :color: primary :expand: .. grid-item:: .. dropdown:: Related Courses * :doc:`/trainings/repertoire/misc/make` * :doc:`/trainings/repertoire/misc/cmake` * :doc:`/trainings/repertoire/misc/unittests` .. grid-item:: .. dropdown:: Slide Material * :doc:`/trainings/material/soup/c/index` * :doc:`/trainings/material/soup/cxx/index` * :doc:`/trainings/material/soup/cxx03/index` * :doc:`/trainings/material/soup/cxx11/index` * :doc:`/trainings/material/soup/cxx-design-patterns/index` Courses ------- * :doc:`c`. A gentle intro to C, as envisioned by the inventors of the language. * Data types (integer types floating point, ``struct``, ``union``, ...) * Control flow (``if``, ``switch``, ``while``, ``for``) * Functions * Pointers (a lot) * Dynamic memory .. toctree:: :hidden: c * :doc:`c-advanced`. * Traps, traps, traps (and their avoidance) * The preprocessor: macro writing * Performance, compiler optimizations, profiling * Debugging * Miscellaneous: ``volatile``, alignment, ... .. toctree:: :hidden: c-advanced * :doc:`cxx`. A tour through C++: old school C++, and the new C++ since 11. * Encapsulation, and object oriented programming * Standard template library (STL) * Template metaprogramming * Dynamic memory * Lambda expressions * Rvalue references (*move*) * Threading .. toctree:: :hidden: cxx * :doc:`cxx11` .. toctree:: :hidden: cxx11 * :doc:`design-patterns/design-patterns` .. toctree:: :hidden: design-patterns/design-patterns