“Contract Programming in C++(20) (part 1 of 2)”
summary
Defines contracts as explicit preconditions/postconditions/invariants, explains the C++ standard’s 1,500‑page contract promise and undefined behavior consequences, and gives concrete specs: sort needs a valid multipass range, swappable elements, comparator applicability and permutation/stability/complexity postconditions; compares guarantees (basic, transactional, no‑fail), shows sum overflow handling strategies (detect, widen type, or document narrower domain), and discusses adding contracts incrementally to existing code. Good if you want actionable rules and examples for C++ APIs.
AI-written summary · about
chapters (18)
- 0:00Intro
- 0:31Two Talks
- 2:10Quick Survey
- 5:27What is a Contract?
- 7:08Examples
- 12:33Preconditions
- 16:10Invariants
- 17:03Error Reporting
- 18:18Useful Guarantees
- 20:59Changing a Contract
- 25:37Useful Terminology
- 31:59Example of a Contract
- 41:10Additional Concerns
- 45:43Second Example
- 50:31A Simple Correction?
- 51:13A Portable Correction
- 51:38Simple vs. Complex Constraints
- 54:21Closing Advice








