User Tools

Site Tools


c

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
c [2018/02/05 13:53]
rpjday [Overview]
c [2019/08/13 12:31] (current)
rpjday [Links]
Line 10: Line 10:
   * ''​nothrow''​ forms of ''​new''​ and ''​delete''​ (11.2.4)   * ''​nothrow''​ forms of ''​new''​ and ''​delete''​ (11.2.4)
   * initializer lists   * initializer lists
 +  * "​using"​ for type aliases
  
 ===== Links ===== ===== Links =====
Line 32: Line 33:
   * [[https://​en.wikipedia.org/​wiki/​Compatibility_of_C_and_C++|Compatibility of C and C++]]   * [[https://​en.wikipedia.org/​wiki/​Compatibility_of_C_and_C++|Compatibility of C and C++]]
  
-===== Internal C++ links =====+===== Stroustrup ===== 
 + 
 + 
 + 
 + 
 +===== New features in C++11 ===== 
 + 
 +==== move semantics ==== 
 + 
 +==== variadic templates ==== 
 + 
 +==== rvalue references ==== 
 + 
 +==== forwarding references ==== 
 + 
 +==== initializer lists ==== 
 + 
 +==== static assertions ==== 
 + 
 +==== auto ==== 
 + 
 +==== lambda expressions ==== 
 + 
 +==== decltype ==== 
 + 
 +==== template aliases ==== 
 + 
 +==== nullptr ==== 
 + 
 +==== strongly-typed enums ==== 
 + 
 +==== attributes ==== 
 + 
 +==== constexpr ==== 
 + 
 +==== delegating constructors ==== 
 + 
 +==== user-defined literals ==== 
 + 
 +==== explicit virtual overrides ==== 
 + 
 +==== final specifier ==== 
 + 
 +==== default functions ==== 
 + 
 +==== deleted functions ==== 
 + 
 +==== range-based for loops ==== 
 + 
 +==== special member functions for move semantics ==== 
 + 
 +==== converting constructors ==== 
 + 
 +==== explicit conversion functions ==== 
 + 
 +==== inline namespaces ==== 
 + 
 +==== non-static data member initializers ==== 
 + 
 +==== right angle brackets ==== 
 + 
 +==== ref-qualified member functions ==== 
 + 
 +==== trailing return types ==== 
 + 
 +===== Figure out ===== 
 + 
 +  * namespaces 
 +  * throw/​exceptions 
 +    * try/catch 
 + 
 +===== Miscellany ===== 
 + 
 +  * using {} for initialization instead of = 
 +    * catches narrowing conversions like "int a {3.14};"​ 
 +  * "​auto"​ type deduction from initializer,​ "auto b = true"​ 
 +  * "​constexpr"​ as long as expression really is a constant (eventually) 
 +    * "​constexpr int i = square(?​)"​ 
 +    * any functions invoked must also be declared as "​constexpr"​ 
 +  * declared size of array must be constant expression 
 +  * range-for-statement (for any sequence of elements) 
 +    * int v[] = {1,​2,​3,​4,​5};​ 
 +    * for (auto x : v) 
 +    * for (auto x : {1,​2,​3,​4,​5}) 
 +    * for (auto& x : v) { ++x; } 
 +  * references in declarations 
 +  * kinds of classes 
 +    * concrete 
 +    * abstract 
 + 
 +===== Standard library ===== 
 + 
 +  * ''​std::​list''​ 
 +  * ''​std::​string''​ 
 + 
 +===== Coding style ===== 
 + 
 +  * use "​const"​ as much as possible, to qualify class methods 
 +  * functions defined in a class are inlined by default 
 +  * define non-member routines if they don't need access to the class 
 + 
 +==== Internal C++ links =====
  
   * [[Advanced C++ Links|Advanced C++ Links]]   * [[Advanced C++ Links|Advanced C++ Links]]
c.1517838811.txt.gz · Last modified: 2018/02/05 13:53 by rpjday