New in C++20: The spaceship operator (operator<=>)

Herb Sutter

Herb Sutter is chair of the ISO C++ committee and a software architect at Microsoft. He is the designer or codesigner of several features that are now part of the C++ standard (or draft standard), including lambda functions, operator<=>, Parallel STL, atomics, the C++ memory model, delegating constructors, override, final, nullptr, atomic_shared_ptr, and others.

The new operator<=> was recently adopted as a language feature for C++20. In this talk, the designer and author of the <=> proposal gives an overview of the feature, discusses its motivation and design, and walks through examples of how to use it. We give particular emphasis to how the feature makes C++ code cleaner to write and read, faster by avoiding redundant work, and more robust by avoiding several important but subtle pitfalls in the more brittle code we previously had to write by hand without this feature.