gpt4 book ai didi

c++ - 搜索一组独特的指针

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:15:42 26 4
gpt4 key购买 nike

我有一组指向对象的唯一指针。有时,我会公开一些指向这些对象的原始指针,以便代码的其他部分可以对这些对象进行操作。这段代码不知道指针是否指向由一组唯一指针维护的对象,所以我需要检查指针指向的对象是否在一个唯一指针集中。

简单代码:

int* x = new int(42);
std::set<std::unique_ptr<int>> numbers;
numbers.insert(std::unique_ptr<int>(x));

numbers.find(x) // does not compile

我明白为什么代码不能编译,但我想不出用STL搜索元素的方法。是否有任何东西可以满足我的需求,或者我是否必须手动迭代集合中的所有元素?

最佳答案

您可以使用 std::find_if像这样: std::find_if(numbers.begin(), numbers.end(), [&](std::unique_ptr<int>& p) { return p.get() == x;});

关于c++ - 搜索一组独特的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16767623/

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