C ++ 11 книжная нотация - PullRequest
       2

C ++ 11 книжная нотация

0 голосов
/ 28 августа 2018

Может ли кто-нибудь объяснить мне эту запись из книги Страуструпа?

template<typename Cont, typename Pred>
std::vector<Value_type<Cont>*>
find_all(Cont& c, Pred p)
{
    std::vector<Value_type<Cont>*> res;
    for(auto& x :c)
        if(p(x)) res.push_back(&x);
    return res;
}

Как я должен понимать value_type здесь? Это не ключевое слово из C ++ и не Cont::value_type, тогда что?

Примером является книга C11 Bjarne Starstroup. Глава 32.2 Фрагменты кода 4-го.

1 Ответ

0 голосов
/ 04 сентября 2018

См. 28.2.4 кн.

template<typename T>
using Value_type = typename std::iterator_trait<T>::value_type;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...