Quick Q: When should I use {} vs. () to initialize variables? -- StackOverflow
Quick A: In C++11, prefer to initialize using {} where possible, which is nearly always.
Uniform initialization syntax difference
What's the difference between doing
A a{ A() };and,
A a( A{} );to avoid the Most Vexing Parse? When should I use a particular one?

The release of GCC 4.8.1 was
Clang 3.3, also C++11 feature complete, is in release testing and the release is currently scheduled for June 5th. Within a week full C++11 support will be available from two major compilers and on numerous platforms supported by those compilers.