我有一个可能简单和/或多余的问题,但我无法找到我的版本的答案。我希望有人能在不给我发火的情况下回答。
我有两个指针p1和p2如下: 1.使用new创建p1(p1 = new structObject;) 2. p2是p1的副本(p2 = p1)。
删除两个指针中的任何一个有什么影响(例如,删除p1)? 换句话说,删除p1后是否使用p2安全?
答案 0 :(得分:0)
没有。通过p2
访问是不安全的。释放内存,对它的任何访问(来自任何指针)都是未定义的行为
答案 1 :(得分:0)
InputStream
ans p1
都分配到同一地址。
由于删除了此地址的已分配对象(无论使用哪个指针),访问它的标准状态会导致未定义的行为,因此使用任何指针访问它都是不安全的。