gpt4 book ai didi

c++ - 如何使用 std::shuffle 随机排列具有唯一指针的 vector ?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:33:46 26 4
gpt4 key购买 nike

我正忙着编写纸牌游戏。对于这个纸牌游戏,我想洗牌。牌组是一个由唯一指针组成的 vector ,看起来像这样:

std::vector<std::unique_ptr<Cards>> _deck;

我尝试使用 shuffle 函数从中获取随机序列,但出现以下错误:“函数模板“std::shuffle”的实例与参数 vector “不匹配”。查看下面的代码块以获取参数.

std::shuffle(_buildings_deck.begin(), _buildings_deck.back(), std::default_random_engine{});

据我所知,我使用的参数是正确的,我仍然需要选择一个随机引擎,但这应该不是问题。所以我想知道是否可以使用 shuffle 随机排序唯一指针的 vector ,如果可以的话如何?

最佳答案

std::shuffle() 期望像 std::vector 那样的随机访问迭代器。您必须用 std::vector 替换 std::list。

关于c++ - 如何使用 std::shuffle 随机排列具有唯一指针的 vector ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41783531/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com