LVV>>Их теперь может быть несколько ?
LVV>>А как ?
R>Тут идёт речь о деструкторах, объявленных в шаблонах классов. Их действительно может быть несколько но(!) они должны быть объявлены с разными констрейнтами (секции requires) так, чтоб для каждого конкретного воплощения шаблона класса эти констрейнты оставляли только один экземпляр деструктора. Констрейны не обязательно должны быть взаимоисключающими (как при использовании SFINAE), они могут быть уточняющими. Т.е. это случай, когда один деструктор создаёт лучшее соответсвие типа, чем другой. Например:
R>R>template<typename T>
R>class my_ptr
R>{
R> std::remove_extent_t<T>* m_p{};
R>public:
R> ~my_ptr() requires std::is_array_v<T> { delete[] m_p; }
R> ~my_ptr() { delete m_p; }
R>};
R>
Спасибо!
Я до этого еще не дошел.
А ты можешь книжки писать.
Или преподавать.
Просто и понятно излагаешь, что для студентов самое важное.
Про меня то же самое многие мне говорили — просто и понятно излагаю.
Поэтому 33 года уже почти и преподаю...