This is an old revision of the document!
Overview
C++ links/resources.
TO DO:
- Constant expressions (
constandconstexpr) (10.4)- A class with a
constexprconstructor is called a literal type.
- Implicit type conversion (10.5)
nothrowforms ofnewanddelete(11.2.4)- initializer lists
Links
General links:
Comparing C and C++:
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
Coding style
- use “const” as much as possible, to qualify class methods
Internal C++ links
- C++ iterators (MUCH TO DO)
- C++ debugging (TO DO)