How is “=default” different from “{}” for default constructor and destructor?
This is a completely different question when asking about constructors than destructors. If your destructor is virtual, then the difference is negligible, as Howard pointed out. However, if your destructor was non-virtual, it’s a completely different story. The same is true of constructors. Using = default syntax for special member functions (default constructor, copy/move constructors/assignment, … Read more