Skip to content

v1.3.0

Compare
Choose a tag to compare
@federico-busato federico-busato released this 18 Mar 23:07
· 90 commits to master since this release

List of changes:

Introduction:

  • Updated C++ timeline, Tiobe index, Redmonk index
  • Improved "Why C++ is so Popular?"
  • Added "C++ Weakness" section
  • Update/fixed book references
  • Added course slide legend

Basic Concepts I:

  • Added NASA PI note
  • Fixes #5 (used ! as escape char)

Basic Concepts II:

  • Fixes #6 (wrong array size)

Basic Concepts III:

  • Fixes malloc returns NULL for zero-size allocations
  • Added "Non-Allocating Placement section", "Non-Throwing Allocation", "Constants and Literals" sections
  • Refactored "Structure Initialization"
  • Add a note for virtual + constexpr usage in C++20

Basic Concepts IV:

  • Fixed #6, wrong lambda return

Object-Oriented Programming I:

  • Moved struct initialization to "Basic Concepts III"
  • Improved = default implications
  • Improved/refactored static keyword section

Object-Oriented Programming II:

  • Fixes #6, downcast variables

Template and Meta-programming I:

  • Refactoring, especially "Template Parameter Types"

Template and Meta-programming II:

  • Improved "Template Class Constructor" section

Translation Units:

  • Added "Linkage of const and constexpr variables" section
  • Simplified "Linkage Summary"
  • Better explanation of ODR - Point 3 with improved inline, template, constexpr descriptions

C++ Ecosystem:

  • Added a quote about maintenance effort
  • Updated valgrind version
  • Removed gcc detailed warnings section

Advanced Topics:

  • Improve "Universal reference" section
  • Minor fixes for "Smart pointer" section

Performance Optimization I:

  • Added John Carmak note
  • Added "page thrashing" description
  • Moved "Spatial Locality" and "Temporal Locality" details to Performance Optimization II

Performance Optimization II:

  • Added "Compiler Hints - [assume]
  • Minor improvements to "Arguments passing" section
  • Added __attribute__(pure) and __attribute__(const) descriptions
  • Added a few notes to "Object Dynamic Behavior Optimizations", e.g. virtual implications

Performance Optimization III:

  • Minor improvements to "Help the Compiler to Produce Better Code"
  • Added "Post-Processing Binary Optimizer" section