preconditions, postconditions, invariants -- how they help write robust programs
Details
We will see some examples preconditions and alternatives: defensive ifs, more constrained types. We will see why preconditions might be preferable. Similarly we will go over invariants: those that can and those that cannot be expressed in C++. We will also have a look at the contracts added to C++20, and their issues.