Avoid Unnecessary Constructors and Destructors

Avoid Unnecessary Constructors and Destructors

Some programmers consistently define an empty constructor and destructor in their classes, as in:

 class A{//..public: A() {} ~A() {}};

This is totally useless. C++ guarantees that when a class needs any of the four special member functions (default constructor, copy constructor, assignment operator and destructor), the compiler will synthesize it, unless the programmer explicitly declared it. In the example above, the programmer defined empty constructor and destructor although the class clearly doesn’t need any of these. Hadn’t the programmer declared these member functions, the class would have been more compact and easier to maintain. Furthermore, this practice violates a common C++ principle: Don’t write code that the compiler can generate correctly by itself


About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist