From cppreference.com
virtual~ios_base();Destroys the ios_base object.
Before any of the member functions would yield undefined results, calls callbacks, registered by
passing
as parameter. Then, deallocates any memory obtained.
No operations on rdbuf are performed, it is not destroyed.
Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR Applied to Behavior as published Correct behavior
C++98 the destructor was not required to reclaim memory for iarray and parrayrequired