指向同一地址的两个指针

Dan*_*u M 6 c c++ pointers

当两个指针指向同一个地址时会发生什么?这会导致安全问题吗?

Luc*_*ore 11

事实本身还可以,但如果您调用delete其中一个指针并尝试使用其他指针后,您将遇到未定义的行为:

int* x = new int(5);
int* y = x;
delete x;
//y is a dangling pointer
Run Code Online (Sandbox Code Playgroud)

如果遇到必须使用指向同一内存地址的多个指针的情况,则应该查看智能指针.

  • @DaneshjuM这正是我说的...... (7认同)
  • x 仍然是悬空指针,直到您分配 NULL。 (2认同)