簡體   English   中英

定義模板參數的迭代器類型

[英]Define Iterator type of template argument

在下面的函數中,如何告訴編譯器 Iterator 是 Cont 的迭代器?

template<typename Cont, typename Pred>
Iterator<Cont> find_if(const Cont &c, Pred p)
{
    return std::find_if(std::begin(c), std::end(c), p);
}
template<typename Cont, typename Pred>
auto find_if(const Cont &c, Pred p)
-> decltype(std::begin(c)) // HERE
{
    return std::find_if(std::begin(c), std::end(c), p);
}

或者從 C++14 版開始:

template<typename Cont, typename Pred>
auto find_if(const Cont &c, Pred p) //All you need is auto
{
    return std::find_if(std::begin(c), std::end(c), p);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM