© Will Briggs 2021
W. BriggsC++20 for Lazy Programmershttps://doi.org/10.1007/978-1-4842-6306-8_26

26. Esoterica (Recommended), Continued

Will Briggs1  
(1)
Lynchburg, VA, USA
 

More extras to make your programs safer and quicker and easier to write.

Defaulted constructors and =

Earlier I avoided using the defaults for constructors and operator=, because sometimes C++’s guess is wildly wrong; specifically, it copies array addresses rather than their contents.

But sometimes it’s exactly right. Defaults can save us a little time writing the Card class from Chapter 19 (see Example 26-1).
class Card
{
public:
    Card () : rank_(Rank(0)), suit_(Suit(0)) {}
    Card            (const Card& other) = default;
    Card& operator= (const Card& other) = default;

Get C++20 for Lazy Programmers: Quick, Easy, and Fun C++ for Beginners now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.