Technical Program
Educators' Symposium
Doctoral Symposium
Student Research

Student Volunteers
Special Events
Housing Information
Registration Information

Tuesday, 5 November – 13:30-17:00 Afternoon – Convention Ctr - Room 603

34 C++ Idioms

Jan Christiaan van Winkel
AT Computing, jc@ATComputing.nl

This tutorial will address non-trivial C++ programming constructs that experienced programmers use frequently. These constructs are too small to be called patterns, but they are part of the language skills of the proficient C++ programmer. Therefore we call them idioms. Several idioms will be discussed. For example, one idiom to be presented is "traits." Traits classes are used frequently in the C++ standard. Some libraries are built around traits classes, for example the Boost library (www.boost.org). Using traits, it is possible to get hold of information about a type at compile-time that will then influence behavior at runtime. Another idiom to be discussed is "intermediate objects." Intermediate objects are often used as proxy objects to write something in C++ that the syntax disallows, such as "a[1][2]" where a is of class type. They exist only in the expression in which they are used. Several other idioms will be covered.

Attendee background

The attendees are expected to know C++.


This tutorial will be lecture based


JC van Winkel has a B.S. and an M.S. in computer science (the M.S. from the Vrije Universiteit Amsterdam). He works at AT Computing, a small courseware and consulting firm in Nijmegen, the Netherlands. There he teaches UNIX and UNIX-related subjects, including C++. Except for 1995, J.C. van Winkel has presented tutorials at all OOPSLAs since 1993.