【发布时间】:2021-12-31 14:03:07
【问题描述】:
我正在尝试用 C++ 创建一副牌。我将该牌组存储在数组array<Card, 52> deckOfCards = generateCards() 中。一旦我创建了数组,有什么方法可以轻松地打乱其中的对象吗?例如,在 Java 中,您可以使用 shuffle() 算法,对象将被打乱。
人们在评论中提到了random_shuffle 的用法,但是random_shuffle 自 C++14 起已被弃用,自 C++17 起已被删除。
【问题讨论】:
-
@WaisKamal 在这一点上我建议推荐
shuffle,而不是random_shuffle。正如您在链接的文档中看到的那样,random_shuffle已被弃用并删除。 -
你是如何实现的,能否提供一个例子,因为当我添加
#include <algorithm>并尝试调用random_shuffle(deckOfCards)时,我在clion中得到了No matching function for call to 'random_shuffle红线 -
@HadiB 您是否阅读了链接文档和下面的示例?
标签: c++ arrays c++17 c++20 shuffle