Я понимаю, что в большинстве случаев мы не должны явно называть деструктором. Тем не менее, я увидел пример из C ++ 11 Стандартный N3485 Раздел 13.4.5 Аргументы шаблона: < /p>
Явный деструктор призыв к объекту, который имеет тип, который
является специализацией шаблона класса, может четко указать
template-arguption-arguption. Пример: < /p>
template struct A {
~A();
};
void f(A* p, A* q) {
p->A::~A(); // OK: destructor call
q->A::~A(); // OK: destructor call
}
< /code>
< /blockquote>
Мне кажется, что мы можем явно назвать деструктор в этом случае, не могли бы вы объяснить мне почему? Что означают эти Destructor в этом примере? Почему они разумные? /> Редактировать: < /strong> я нашел из C ++ Faq, что мы не должны явно вызывать деструктор по локальной переменной.
Подробнее здесь: https://stackoverflow.com/questions/167 ... o-that-any