弱/强参考指针关系

时间:2011-03-20 19:36:05

标签: c++ pointers smart-pointers unsafe-pointers

我一直在尝试编写自己的弱/强指针,但我并不清楚这种关系。我似乎遇到的所有事情都没有明确表达,而且通常一个文档会对另一个文档所说的内容进行谴责。任何人都可以详细解释弱/强指针关系,可能还有一个图像或代码示例吗?

(请不要只是告诉我“使用提升”或“使用tr1”等。这不是作业,我想学习。)

1 个答案:

答案 0 :(得分:10)

强指针拥有底层原始指针。它的存在可以使原始指针保持活动状态,因此它不能指向被清理的东西。它的破坏可能导致原始指针的删除。弱指针只知道原始指针,以及它是否仍然有效。它不会使原始指针保持活动状态,并且不能通过清理使原始指针消失。

要获得更详细的答案,您需要展示您找到的矛盾或您对定义的特定部分的疑问。