如果我写这段代码:
QSharedPointer<int> ptr(new int());
指向整数的引用数为1。
但是当我这样调用 data() 时:
QSharedPointer<int> ptr(new int());
int* ptr2 = ptr.data();
引用数是1还是2?
感谢您的帮助。
最佳答案
不会改变。 QSharedPointer
只与 QSharedPointer
共享指针。它不会也不能与原始指针共享。
QSharedPointer will delete the pointer it is holding when it goes out of scope, provided no other QSharedPointer objects are referencing it.
Returns the value of the pointer referenced by this object.
关于c++ - 调用 qsharedpointer 的 data() 时引用数是否发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35972192/