Подтвердить что ты не робот

Являются ли перегружатели деструкторов?

страница enable_if doc говорит:

Конструкторы и деструкторы не иметь тип возврата; дополнительный аргумент является единственным вариантом.

Перегружены ли деструкторы?

4b9b3361

Ответ 2

Перегружены ли деструкторы?

Ответ прост. Нет.
Две версии деструктора не могут сосуществовать в теле class.

Однако, в отличие от популярного мнения, обратите внимание, что деструктор имеет 2 синтаксиса.

struct E {
  ~E();  // syntax-1
  ~E() throw(); // syntax-2
};

Синтаксис-2 менее популярен. Но это обязательно, если деструктор базового класса содержит аналогичный синтаксис. Лучшим примером является наследование std::exception.

Обратите внимание, что несоблюдение такого синтаксиса приводит к:

error: looser throw specifier для 'virtual E:: ~ E()