Design by Contract
About the presentation:
This talk is about the Design by Contract, which includes things like preconditions, postconditions, invariants and assertions, but is in fact about something more abstract and important: that the design of each interface (class interface or function interface) must start from the contract: what the component expects of its users and what it guarantees to its users.
We are going to talk a bit about what contracts are, and how we make use of them today, and why it is not sufficient.
Next, we are going to see how the recently added GCC implementation of contracts works. This is not standard C++. The GCC contracts are based on the failed attempt to add contracts to C++20. Next we are going to see some problems with that design.
Finally, we will see the design for contracts that the ISO Committee is currently working on. One that has chances of getting into C++26.
We are going to do some life coding with the Compiler Explorer, and hopefully have some interesting discussion. Unfortunately, no recording or live-streaming will be available.
Presenter: Andrzej Krzemieński
Language: English (or Polish if requested by the audience)
Location: AGH C6 - Centrum Energetyki, lecture room 402.2 (same room as in the previous meetings)
Więcej informacji: https://www.meetup.com/c-user-group-cracow/events/290856482/