Деструкторы у встроеных типов
От: BOPOH_N Россия  
Дата: 06.02.04 10:15
Оценка:
Написал такой код:
template <typename T> 
void DbgDelete(T* p)
{    
    p->~T();    
    operator delete(p);
}


с удивлением обнаружил что VC 7.0 нормально компилит следующий код
int *i(new int);
DbgDelete(i);


В моем понимании вызов деструктора встроеного типа — некорректная операция. Но VC просто пропускает эту строку и не генерит никакого кода (проверял под отладчиком).
Вопрос это соответствует стандарту?
В искустве летать есть один маленький секрет. Секрет этот в том,чтобы бросить себя изо всех сил на землю — и не попасть. Выберете погожий денек и попробуйте сами.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.