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…')
 
Line 1: Line 1:
 
 
Agreed Detail Allocations to 344/300 Appendices
 
Agreed Detail Allocations to 344/300 Appendices
C++ Part
+
== C++ Part ==
  
new - types - specification and qualification
+
: new - types - specification and qualification
  
alignas alignof – memory alignment for a variable
+
:: 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
+
:: 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
+
:: new - expressions
  
raw and cooked User-defined literals – suffix notation – 1234_suffix – numeric literals
+
:: raw and cooked User-defined literals – suffix notation – 1234_suffix – numeric literals
  
new - encapsulation
+
:: new - encapsulation
  
default ctor – trivial and non-trivial - POD
+
:: default ctor – trivial and non-trivial - POD
  
new - library
+
:: 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
+
:: 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
+
:: tuple types – sets of heterogeneous objects of pre-arranged dimensions
  
hash tables – unordered associative containers
+
:: hash tables – unordered associative containers
  
regular expressions
+
:: regular expressions
  
smart pointers
+
:: smart pointers
  
random number facility
+
:: random number facility
  
wrapper reference
+
:: wrapper reference
  
polymorphic wrappers
+
:: polymorphic wrappers
  
type traits for meta-programming
+
:: type traits for meta-programming
  
computing return type of function objects
+
:: computing return type of function objects
  
new - compatibility with C
+
:: new - compatibility with C
  
plain old data – relaxed restrictions POD rules – trivial and std layout
+
:: plain old data – relaxed restrictions POD rules – trivial and std layout
  
C Part
+
== C Part ==
  
new - add to align with C11
+
:: new - add to align with C11
  
_Generic( ) - type-generic macros
+
:: _Generic( ) - type-generic macros
  
complex data type
+
:: complex data type
  
macros for construction of complex values
+
:: macros for construction of complex values
  
alignment specifications (_Alignas, _Alignof())
+
:: alignment specifications (_Alignas, _Alignof())
  
_Atomic
+
:: _Atomic
  
_Noreturn
+
:: _Noreturn
  
macros for floating-point characteristics
+
:: macros for floating-point characteristics
  
quick_exit() (if exit() fails)
+
:: quick_exit() (if exit() fails)

Revision as of 13:07, 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)