C++11新機能メモ
ちまちま埋めてく.
- Language Feature(言語機能)
- Rvalue references(右辺値参照)
- Initialization of class objects by rvalues(rvalueによるクラスオブジェクトの初期化)
- Non-static data member initializers(非静的データメンバ初期化子)
- Variadic templates(可変個引数テンプレート)
- Initializer lists(初期化リスト)
- Static assertions
- auto-typed variables
- Multi-declarator auto
- Removal of auto as a storage-class specifier
- New function declarator syntax
- Lambda expressions
- Declared type of an expression
- Incomplete return types
- Right angle brackets
- Default template arguments for function templates
- Solving the SFINAE problem for expressions
- Alias templates
- Extern templates
- Null pointer constant
- Strongly-typed enums
- Forward declarations for enums
- Generalized attributes
- Generalized constant expressions
- Alignment support
- Delegating constructors
- Inheriting constructors
- Explicit conversion operators
- New character types
- Unicode string literals
- Raw string literals
- Universal character names in literals
- User-defined literals
- Standard Layout Types
- Defaulted functions
- Deleted functions
- Extended friend declarations
- Extending sizeof
- Inline namespaces
- Unrestricted unions
- Local and unnamed types as template arguments
- Range-based for
- Explicit virtual overrides
- Minimal support for garbage collection and reachability-based leak detection
- Allowing move constructors to throw [noexcept]
- Defining move special member functions
- Concurrency(並列実行)
- Sequence points
- Atomic operations
- Strong Compare and Exchange
- Bidirectional Fences
- Memory model
- Data-dependency ordering: atomics and memory model
- Propagating exceptions
- Abandoning a process and at_quick_exit
- Allow atomics use in signal handlers
- Thread-local storage
- Dynamic initialization and destruction with concurrency
- C99 Features in C++11(C99機能の移植)
- __func__ predefined identifier
- C99 preprocessor
- long long
- Extended integral types