gpt4 book ai didi

c++ - QSignalSpy 和 std::shared_ptr

转载 作者:行者123 更新时间:2023-11-28 05:31:22 39 4
gpt4 key购买 nike

我想测试一段使用信号/槽的 Qt 代码,其中 std::shared_ptr 作为参数。

我的问题是 QSignalSpy 类适用于所有其他类型的参数,但在使用标准共享指针时似乎表现不佳。实际上,takeFirst 方法返回一个 QVariant 列表。我可以将参数转换为 shared_ptr 做类似的事情:

QVERIFY(arguments.at(0).value<std::shared_ptr<Canard>>() == canardInstance); // verify the first argument

但是我最终得到了 2 个引用相同堆内存的智能指针,并且在超出当前范围时它崩溃了。有没有办法在我的案例中使用 QSignalSpy?

谢谢!

最佳答案

其实我完全错过了重点。它工作正常(意味着引用计数按预期工作)但由于另一个原因我遇到了内存损坏。我尝试使用 QSharedPointer 并获得相同的行为。

关于c++ - QSignalSpy 和 std::shared_ptr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39446276/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com