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…')
 
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
Agreed Detail Allocations to 344/300 Appendices - not tested on exams
 +
== C++ Part ==
  
Agreed Detail Allocations to 344/300 Appendices
+
* new
C++ Part
+
: 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
+
: 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
+
: encapsulation
  
new - encapsulation
+
:: default ctor – trivial and non-trivial - POD
  
default ctor – trivial and non-trivial - POD
+
: 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
+
: 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)
 

Latest revision as of 12:10, 3 May 2012

Agreed Detail Allocations to 344/300 Appendices - not tested on exams

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
expressions
raw and cooked User-defined literals – suffix notation – 1234_suffix – numeric literals
encapsulation
default ctor – trivial and non-trivial - POD
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
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)