Мне нужно использовать числа XOR от 1 до N, Рассмотрим эквивалентный простой пример: int * p = new int (1); int * q = p; int * r = q; удалить r; r = NULL; // хорошо // delete q; ...
У меня есть код, в котором используется множество указателей, указывающих на один и тот же адрес. Рассмотрим эквивалентный простой пример:
int *p = new int(1);
int *q = p;
int *r = q;
delete r; r = NULL; // ok
// delete q; q = NULL; // NOT ok
// delete p; p = NULL; // NOT ok
Как безопасно удалить его без многократного удаления? Это особенно сложно, если у меня много объектов, все указатели которых указывают на один и тот же адрес.