C++Now 2019 has ended
Back To Schedule
Tuesday, May 7 • 11:00 - 12:30
Sane Modern Special Member Functions

Log in to save this to your schedule, view media, leave feedback and see who's attending!

Feedback form is now closed.
C++ 11 introduced move operations and thus made the old "Rule of Three" obsolete. While some just transformed that to become the "Rule of Five/Six" there is also a school of thought to propose "Rule of Zero". For beginners or pre-C++11 programmers this can be highly confusing.

Howard Hinnant gave a great presentation on the language rules which special members are defined or declared when, but we often lack the teachability on what to actually use.

Based on Howard's table and some categorization of class types, I suggest a consistent but may be surprising means to what special members to define or declare in what cases. Since I want to reduce of clutter there are some surprising suggestions. While unfamiliar today, I would like to make these suggestions more popular, so that we can get less code and thus more software.

avatar for Peter Sommerlad

Peter Sommerlad

Professor, IFS Institute for Software
Cevelop, Safe C++, CUTE unit testing

Tuesday May 7, 2019 11:00 - 12:30 MDT
Flug Auditorium