shared_ptr和weak_ptr的区别
我正在阅读Scott Meyers的“ Effective C ++”书。有人提到,有tr1::shared_ptr并且tr1::weak_ptr像内置指针一样工作,但是它们会跟踪tr1::shared_ptrs指向一个对象的数量。 这称为参考计数。这样可以很好地防止非循环数据结构中的资源泄漏,但是,如果两个或多个对象包含tr1::shared_ptrs一个循环,则该循环可以使彼此的引用计数保持在零以上,即使指向该循环的所有外部指针都已被破坏。 那就是tr1::weak_ptrs进来的地方。 我的问题是循环数据结构如何使引用计数大于零。我请一个示例C ++程序。问题如何解决weak_ptrs?(再次,请举个例子)。