В своем лейтмотивом этого года Going Native The Essence of C++ (переход к 40:30) Бьерн Страуструп приводит следующий пример кода:VALUE_TYPE параметра шаблона контейнера
template<typename C, typename V>
vector<Value_type<C>*> find_all(C& cont, V v)
{
vector<Value_type<C>*> res;
for (auto& x : cont)
if (x == v)
res.push_back(&x)
return res;
}
Эта функция используется, чтобы найти все вхождения значение в контейнере и возвращает указатели на найденные элементы. Пример с видео:
string m{"Mary had a little lamb"};
for (const auto p: find_all(m,'a')) // p is a char*
if (*p != 'a')
cerr << "string bug!\n";
Мой вопрос о Value_Type<C>*
. Есть ли что-то подобное в стандартной библиотеке ? Я искал его и не нашел. Как это можно реализовать, если это не в std?
Какая цель у вас здесь? Что делает 'Value_type'? Вопрос должен быть самодостаточным и не требовать от нас смотреть 96-минутное видео. – interjay
@interjay Вам просто нужно посмотреть первые 42 минуты или так :-) Но вы правы. Я отредактирую вопрос. – guini