Согласно these принципов:Необходимость объявляют деструктора как по умолчанию
Если деструктор по умолчанию необходим, но его поколение было подавлено (например, путем определения конструктора перемещения), используйте
=default
.
Я не могу представить, чтобы код был плохо сформирован без явного деструктора по умолчанию в классе, который имеет конструктор перемещения.
Может ли кто-нибудь показать мне пример, подтверждающий цитирование выше?
struct S {
S() {};
S(S&&) {}; // move ctor
};
int main() {
S s; // there is no need to declare dtor explicitly =default
}
Typo? «Если требуется ** конструктор ** по умолчанию ...» – songyuanyao
@songyuanyao Я так не думаю. Раздел описывает использование ** деструкторов ** – alexolut
Даже если секция имеет несколько опечаток (с несмешиваемым смешиванием кода 'A' /' F' 'a' /' act') – Jarod42