Удалить объект указателя в C ++

Я прочитал следующий код для удаления объекта-указателя в проекте с открытым исходным кодом X3C .

//! Delete pointer object.
/*!
    \ingroup _GROUP_UTILFUNC
    \param p pointer object created using 'new'.
*/
template
void SafeDelete(T*& p)
{
    if (p != NULL)
        delete p;
    p = NULL;
    *(&p) = NULL;
}

Но я не знаю значения этой строки:

*(&p) = NULL;

В приведенной выше строке ( p = NULL; ) p присваивается значение NULL. Я думаю, это нужно сделать по-другому.

7
задан Machavity 15 October 2018 в 12:36
поделиться