Предположим, что у нас есть (игрушечный) класс С++, такой как:
class Foo {
public:
Foo();
private:
int t;
};
Поскольку никакой деструктор не определен, компилятор С++ должен создать его автоматически для класса Foo. Если деструктору не нужно очищать любую динамически распределенную память (то есть мы могли бы разумно полагаться на деструктор, который дает нам компилятор), будет определять пустой деструктор, т.е.
Foo::~Foo() { }
сделать то же самое, что и созданный компилятором? Что относительно пустого конструктора, то есть Foo::Foo() { }
?
Если существуют различия, где они существуют? Если нет, то один метод предпочтительнее другого?