上传者: 38702339
|
上传时间: 2021-12-13 20:47:02
|
文件大小: 46KB
|
文件类型: -
在程序当中,经常会用到一些共享对象。一个具有指针成员的类,如果发生复制行为,一个指针复制到另一个指针时,两个指针指向同一个对象。此时可以使用任一指针改变这个共享的对象。那么,如果一个指针删除了这个共享对象,那么另一指针成了悬垂指针,如果再对此对象进行操作时,会发生内存访问错误。而C++中无法判断一个指针所指向的内存是否有效,这是非常危险的。
看下面一个例子:
class MyClass
{
public:
MyClass(int *p,int i): ptr(p),value(i) { }
~MyClass() { delete pt