AP
Size: a a a
AP
VS
VS
AP
AP
VS
w
AP
w
template <template <class...> class TContainer, class TObject>
TObject rand_from_container(const TContainer<TObject>& container) {
auto begin = container.begin();
auto end = container.end();
size_t size = std::distance(begin, end) - 1;
return *(begin + Rand(0, size));
}
VS
AP
AP
w
ПК
template <template <class...> class TContainer, class TObject>
TObject rand_from_container(const TContainer<TObject>& container) {
auto begin = container.begin();
auto end = container.end();
size_t size = std::distance(begin, end) - 1;
return *(begin + Rand(0, size));
}
template <typename Container>
auto rand_from_container(const Container& container) { ... };
VS
AP
AP
ПК
template <typename Container>
typename Container::iterator rand_from_container(const Container& container)
{ ... };
ПК
AP