Here is a description of some nice new features available in C++0x supported by GCC 4.5.
http://www.ibm.com/developerworks/aix/library/au-gcc/index.html?cmp=dw&cpb=dwaix&ct=dwnew&cr=dwnen&ccy=zz&csr=030311
Here are some highlights.
Static assertions:
static_assert(sizeof(int) == 4, "Integer sizes expected to be 4");
New character types
char16_t guaranteed to be able to hold a UTF-16 character
char32_t guaranteed to be able to hold a UTF-32 character
Auto syntax type
auto *num1 = new int(7); // type for num1 it int*
const auto num2 = 3.1415; // type for num2 is double
Initializer lists
// in a variable definition
std::vector
doubles = {2.3, 4.511, 1.23, 0.99};
// Initializer list used with new
std::list *d2 = new std::list {1.2, 1.3};
// Initialize a map
std::map = { {“key1”, 1}, {“key2”, 2} };