c

C++ links/resources.

TO DO:

  • Constant expressions (const and constexpr) (10.4)
    • A class with a constexpr constructor is called a literal type.
  • Implicit type conversion (10.5)
  • nothrow forms of new and delete (11.2.4)
  • initializer lists
  • “using” for type aliases
  • namespaces
  • throw/exceptions
    • try/catch
  • 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
  • std::list
  • std::string
  • 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
  • c.txt
  • Last modified: 2019/08/13 12:31
  • by rpjday