State of the Language: C++0x
// August 21st, 2008 // No Comments » // c++
I just found this interview with Bjarne Stroustrup in DevX about the current state of the new C++ spec recently tagged as C++0x, and now is known as C++09.
According to the interview, these are just some of the improvements the spec will contain:
Concurrency:
- memory model supporting modern machine architectures
- Threading ABI
- atomic types
- mutexes and locks
- thread local storage
- asynchronous message exchange
Libraries:
- regex: regular expressions
- unordered_map, etc. (hash tables)
- smart pointers
- array: fixed-sized array
- improvements to containers based on new C++0x features
- tuples
- date and time (maybe)
- various library components to held library builders
Language:
- rvalue references (move semantics)
- static_assert: static assertions
- variadic templates
- strongly typed enumerations with scoped enumerators
- constexpr: generalized constant expressions
- control of alignment
- delegating and inheriting constructors
- auto: deducing a type from an initializer
- decltype: a way of using the type of an expression in a declaration
- control of defaults
- nullptr: a name for the null pointer
- a range-based for loop
- lambda functions
- raw string literals
- UTF8 literals
- concepts (a type system for template arguments)
- initializer lists and uniform initializations syntax and semantics
- in-class member initializers
Among others. Go and read the interview, it is very very interesting.
