Difference between revisions of "Programming Stream C11 C++11 Exclusions"

From CDOT Wiki
Jump to: navigation, search
(Created page with ' Agreed Detail Allocations to 344/300 Appendices C++ Part new - types - specification and qualification alignas alignof – memory alignment for a variable type-safe enum…')
(No difference)

Revision as of 12:02, 3 May 2012

Agreed Detail Allocations to 344/300 Appendices C++ Part

new - types - specification and qualification

alignas alignof – memory alignment for a variable

type-safe enumerations - enum class declaration – not implicitly converted to integers – cannot be compared to integers – underlying type is known - default type is int, can be overridden enum class Enum : unsigned int {vali1, val2} - requires explicit scoping: Enum::val1 – can also use explicit scoping with old-style enum

new - expressions

raw and cooked User-defined literals – suffix notation – 1234_suffix – numeric literals

new - encapsulation

default ctor – trivial and non-trivial - POD

new - library

initializer lists – extends from POD cases to all classes including std containers - initialization-list constructor – T::T(std::initializer_list<type> list) – initializer list is constant and the data in its members cannot be changed

tuple types – sets of heterogeneous objects of pre-arranged dimensions

hash tables – unordered associative containers

regular expressions

smart pointers

random number facility

wrapper reference

polymorphic wrappers

type traits for meta-programming

computing return type of function objects

new - compatibility with C

plain old data – relaxed restrictions POD rules – trivial and std layout

C Part

new - add to align with C11

_Generic( ) - type-generic macros

complex data type

macros for construction of complex values

alignment specifications (_Alignas, _Alignof())

_Atomic

_Noreturn

macros for floating-point characteristics

quick_exit() (if exit() fails)