Каков хороший способ получить [псевдо-] случайный элемент из диапазона STL?
Лучшее, что я могу придумать, - это сделать std::random_shuffle(c.begin(), c.end())
, а затем взять мой случайный элемент из c.begin()
.
Однако мне может понадобиться случайный элемент из контейнера const
, или мне может не потребоваться стоимость полного перетасовки.
Есть ли лучший способ?