C++ training — designing functions the right way
durch
SB3 1.239a Schulungsraum IT
GSI
As C++ developers we have many choices for functions. We can use non-member functions or member functions. We can make functions pure (output depends only on function arguments) or not. We can use virtual functions or opt for generality at compile-time through templates. Function arguments can be passed via const reference, non-const reference, by value, as pointer, and since C++11 as rvalue reference. And for return values we can choose between out-parameters and the actual return statement of the language.
So many choices can make it hard to choose the right design.
In this one day training we'll look at the motivation for having those choices and at the implications for software design and the impact on optimization and performance. There will be just enough theory presented to enable participants to practice different approaches in small teams. After this day you should be more confident in choosing a certain design and be able to produce more intuitively understandable code.
the instructor:
- 17 years of C++ experience
- member of the ISO C++ committee
- former KDE core-developer, responsible for significant parts of the KDE library APIs
- PhD in computer science on extending C++ for explicit, portable, and scalable SIMD programming
- submitter of ~70 C++ compiler bug reports
Abdennacer Hamdi
Alessandra Lai
Alexander Täschner
Bastian Löher
Behruz Kardan
Boxing Gou
Carsten Schwarz
Cruz de Jesus Garcia Chavez
Federica Sozzi
Hans Törnqvist
Heidi Schuldes
Huagen Xu
Jan Mayer
Klaus Götzen
Lukas Kreis
Ola Aboamer
Pavel Kisel
Ralf Kliemt
Senger Anna
Shahab Sanjari
Simon Nakhoul
Tobias Stockmanns
Udo Kurilla
Walaa Eshraim
Yong Zhou