首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在unordered_set的c++中传递插入函数的指针?

如何在unordered_set的c++中传递插入函数的指针?
EN

Stack Overflow用户
提问于 2022-11-30 00:24:38
回答 1查看 37关注 0票数 0

以下代码不起作用:

代码语言:javascript
运行
复制
    template<typename T>
    struct Hashf {
       size_t operator()(T* ptr) const {
           return (size_t)*ptr;
      }
    };



    template<typename Container>
    auto Func(Container const &a_container)
    {
        auto a_begin = std::rbegin(a_container);
        auto a_end = std::rend(a_container);

        using T = typename Container::iterator::value_type;
        std::unordered_set<T*,  Hashf<T>> mytest;

        auto it_temp = a_end;

        mytest.insert(a_begin);  //cant insert the pointer 
        return it_temp;
    }

问题是如何将指针(或迭代器)插入到unordered_set?插入函数失败。

我试图创建一个哈希集来存储指针。

EN

回答 1

Stack Overflow用户

发布于 2022-11-30 00:27:30

迭代器和指针是不同的类型。因此,您不能将迭代器插入到一组T*;但是,您可以取消引用并获取它的地址:

mytest.insert(&*a_begin);

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74621648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档