我正在寻找一种方法来确定哪一行代码负责增加 shared_ptr 的引用计数?例如,想象一下我有一个智能指针并且它的引用计数为 12 的情况。我倾向于知道我的项目中的哪一行 C++ 代码或赋值运算符负责,只要它是 13。
谢谢你的帮助
最佳答案
这是依赖于标准库实现的,因为 shared_ptr 的实现不是语言标准的一部分。
当然,它必须是在构造、赋值和复制构造上执行的一行。在库源文件中查找这三个。
如果您真的必须看一个示例,GCC 的 libstdc++ 共享 ptr 代码在这里:
但它并不漂亮......
关于c++ - 哪一行代码使 shared_ptr 的引用计数增加?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50315996/