Почему если в c++ создать указатель на char, потом скопировать этот указатель, то если удалить его, значение скопированного указателя будет не определено, а если сделать начальный указатель nullptr, то скопированный указатель будет иметь первоначальное значение?
Вот пример:
char* g = new char[10];
strcpy_s(g, 6, "hi");
char* gg = g;
g = nullptr; // Здесь всё нормально, но если сделать delete[] g, то будет неопределенное поведение
std::cout << gg;