Wednesday, May 03, 2006

Upcoming C++ language changes (C++0x)

C++ programming laguage is undergoing interesting language changes.

The delegating constructor is a useful new addition which changes the semantics of throwing an exception from a constructor. As of now, exception raised during execution of any constructor of a class (including base-member initialization list), the destructor of that class is not invoked (for that object). This is because the object never really got created successfully. This will be now longer be true after C++0x is released!!!

Below is a list of some of the upcoming language changes.

* Nearly all of the Library Technical Report (TR1)
* Auto type deduction
* Delegating constructors
* Right angle brackets
* extern templates

Source : Highlights of the April 2006 ISO C++ meeting (Herb Sutter)