我刚刚完成Koenig & Moo的加速C++和章13 & 14他们提出了一些Handle类(简单的,共享的,引用计数)的想法和实现。手柄与智能指针相同吗?
这些类包围了一个原始指针,并将动态对象的分配/释放从客户端代码中抽离出来,以避免原始指针的所有危险,并允许用户取消引用它们以访问指向的对象。基本上是一种'更安全'的方式来与原始内存资源进行交互。
这些章节中介绍的类是否基本实现了智能指针?智能指针对我来说还是很新的,但从我了解的这些Handle类执行相同的功能。
- 这两者之间有区别吗?或者它只是同一事物的另一个名称?
- 假设它们在功能上是等价的,实际上这样的类会永远是从头开始编写的,而不是使用已经制作好的智能指针解决方案吗?
编辑
我要补充的是,他们在这些章节开发类是模板类,因此他们不会绑定到特定的资源,如它们不是设计,例如特定的文件句柄类。
第一个代码片段here 7.1中的代码几乎就是我所指的章节中的代码。
谢谢!特别欣赏最后两个问答。我在那个阶段,我觉得我不再是新手了,但我错过了那种具有经验的更高层次,设计选择/哲学洞察力。 干杯。 – MTLPhil 2010-08-02 16:30:38