2011年计算机二级C++辅导实例编程(17)

来源:计算机等级考试    发布时间:2012-08-29    计算机等级考试视频    评论

  一个简单的智能指针实现

  学习这个代码有助于理解shared_ptr指针的实现方法

  smart.cpp

  1 namespace smart

  2 {

  3 // 引用计数类.

  4 class smart_count

  5 {

  6 public:

  7 smart_count(int c = 0) : use_count(c) {}

  8 ~smart_count() {}

  9

  10 // 增加引用计数, 并返回计数值.

  11 int addref() { return ++use_count; }

  12 // 减少引用计数, 并返回计数值.

  13 int release() { return --use_count; }

  14

  15 private:

  16 // 计数变量.

  17 int use_count;

  18 };

  19

  20 // 智能指针.

  21 template

  22 class smart_ptr

  23 {

  24 public:

  25 // 构造指针, 并使引用计数置为1.

  26 explicit smart_ptr (T* ptr) : p(ptr), u(new smart_count(1))

  27 {}

  28

上一页1234下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答