C++11 in Hall D Online

From GlueXWiki
Revision as of 15:50, 11 July 2013 by Wolin (Talk | contribs)

Jump to: navigation, search

Below I list a number of new C++11 features that should be interesting for use in the Hall D Online.

The most important ones concern programming safety, i.e. they plug safety loopholes in C++ that have been there since the beginning. The second type concern programming convenience, i.e. they make the code easier to write and understand.

Although we do not have any hard-and-fast programming rules for the online, I strongly feel the safety features should be used in all new code. I recommend use of the convenience features, but this is a personal decision. Even if you don't use them you should be familiar with them since they will appear in online code written by others.

Note that I take it for granted the old C++98 features will be used regularly (e.g. the STL).

My discussion below is brief. For a comprehensive discussion of C++11 see the Wikipedia article on C++11. See also the article on Ten C++11 Features Every C++ Developer Should Use.


Safety

override

nullptr

static assert and type traits

smart pointers

move semantics


Convenience

auto

range-for

initializer lists

constructor chaining

thread library

lambdas

tuples

new algorithms

regular expressions