2012年6月20日

摘要: 智能指针显然是C++吸引人的地方之一,必须掌握。看了《C++primer》,里面着重讲了智能指针的实现方式。书中说到: “HasPtr(注:就是自定义的智能指针)在其它方面的行为与普通指针一致。具体而言,复制对象时,副本和原对象将指向同一基础对象。如果通过一个副本改变基础对象,则通过另一个对象访问的值也会改变。 新的HasPtr类需要一个析构函数来删除指针。但是,析构函数不能无条件的删除指针。” 条件就是引用计数。如果该对象被两个指针所指,那么删除其中一个指针,并不会调用该指针的析构函数,因为此时还有另外一个指针指向该对象。看来,智能指针主要是预防不当的析构行为,防止出现悬垂指针。如上图所示, 阅读全文
posted @ 2012-06-20 20:14 很多不懂呀。。 阅读(373) 评论(0) 推荐(0) 编辑

导航