v1.3.0
版本发布时间: 2023-03-19 07:07:00
federico-busato/Modern-CPP-Programming最新发布版本:1.7.0(2024-03-31 08:12:54)
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
returnsNULL
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
andconstexpr
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