sách gpt4 ăn đã đi

c++ - std::weak_ptr 和 std::find 的 std::vector

In lại 作者:太空狗 更新时间:2023-10-29 19:59:57 27 4
mua khóa gpt4 giày nike

我目前正在尝试用 std::shared_ptr 和 std::weak_ptr 替换我的部分代码。在许多部分,我有 std::vectors of std::weak_ptrs(之前是原始 ptrs)并使用 std::find 在数组中查找某个指针。这不适用于弱指针,因为它们出于各种原因不实现 == 运算符。我必须坚持使用 std::weak_ptr 以避免循环依赖。我有什么选择,我应该回到使用原始指针而不是弱指针吗?

Ví dụ

//_window is a shared_ptr that I want to find in a vector of weak_ptrs
WindowWeakPtrArray::iterator it = std::find(m_windows.begin(), m_windows.end(), _window);

Cảm ơn

câu trả lời hay nhất

在不考虑设计的情况下,您可以使用带有自定义比较器的 std::find_if 来验证 yếu_ptr 是否有效,然后比较内部指针(如果有效)。

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

27 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress