[C++] 智能指针的引用计数如何实现?—— 所有该类的对象共享静态类成员变量

Posted dylanchu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[C++] 智能指针的引用计数如何实现?—— 所有该类的对象共享静态类成员变量相关的知识,希望对你有一定的参考价值。

问:智能指针可以对指针的引用数量进行计数,一个智能指针释放时,别的智能指针怎么知道的?

这是一个脑筋急转弯题。。。。

不像普通的变量,静态成员变量是被所有类对象共享的,不同的对象可以访问对方的该静态成员变量,因此静态成员变量和类对象并没有联系。

The static keyword has another meaning when applied to global variables -- it gives them internal linkage (which restricts them from being seen/used outside of the file they are defined in). Because global variables are typically avoided, the static keyword is not often used in this capacity.
Unlike normal member variables, static member variables are shared by all objects of the class.Static members are not associated with class objects

以上是关于[C++] 智能指针的引用计数如何实现?—— 所有该类的对象共享静态类成员变量的主要内容,如果未能解决你的问题,请参考以下文章

一文掌握 C++ 智能指针的使用

一文掌握 C++ 智能指针的使用

C++单线程智能指针实现

linux C++共享指针(std::shared_ptrstd::make_shared)共享对象,reset()重置共享指针,use_count()查看引用计数

linux C++共享指针(std::shared_ptrstd::make_shared)共享对象,reset()重置共享指针,use_count()查看引用计数

如何防止智能指针循环引用问题