Вы определенно можете прочитать значение, к которому относится p
, и скопировать его в другое int
, например так:
int x = *p;
// The value has been copied, j and hence *p aren't affected by changes to x:
++x;
assert(x > *p);
Однако вы определенно не хотите delete p
, потому что ононе выделяется куча с new
.Вместо этого p
указывает на j
, а j
имеет время жизни, автоматически управляемое окружающей областью.