В дополнение к тому, что сказал @Cicada, вы, вероятно, должны сначала семени,
srand(unsigned(time(NULL)));
std::random_shuffle(cards_.begin(), cards_.end());
Комментарий Пер @ FredLarson:
источник случайности для этой версии random_shuffle () определяется реализацией, поэтому вообще не может использовать rand (). Тогда srand () не будет иметь никакого эффекта.
blockquote>Итак, YMMV.