May 21 – 25, 2012
New York City, NY, USA
US/Eastern timezone

Preparing for the new C++11 standard

May 24, 2012, 1:30 PM
4h 45m
Rosenthal Pavilion (10th floor) (Kimmel Center)

Rosenthal Pavilion (10th floor)

Kimmel Center

Poster Software Engineering, Data Stores and Databases (track 5) Poster Session


Axel Naumann (CERN)


C++11 is a new standard for the C++ language that includes several additions to the core language and that extends the C++ standard library. New features, such as move semantics, are expected to bring performance benefits and as soon as these benefits have been demonstrated, it will undoubtedly become widely adopted in the development of HEP code. However it will be shown that this may well be achieved only at the expense of an even more complex syntax, which may well impact on the readability of code (examples will be provided). One approach to addressing this issue can be to restrict the set of features C++ provides that are allowed to be used, e.g. in headers, and the best way of implementing restrictions of this sort is by an automated means. We argue that a compiler library, such as clang <>, can facilitate the implementation of such a code syntax checker, in particular by exploiting clang's already existing static code analysis functionality.

Primary author

Presentation materials