title: Why is the syntax of the destructor ~classname?
body: <p>The syntax of the destructor is <code>~classname</code>. This results in the need to explicitly write the type of object in the destructor call. To avoid this, C++17 introduced <code>std::destroy_at</code>.</p>
  <p>So, what was Bjarne Stroustrup's original rationale for choosing the <code>~classname</code> syntax for the destructor? If the syntax does not depend on the types, <code>std::destroy_at</code> is not needed.</p>