当前位置: 首页 > news >正文

“random_shuffle”:不是“std”错误的成员

原因:属于C++14之前标准,后续版本被弃用。

在C++中,std::random_shuffle 是一个函数模板,用于将一个容器中的元素随机打乱。然而,从C++14开始,std::random_shuffle 被标记为弃用,并且在C++17中被完全移除。取而代之的是使用 std::shuffle 函数,它接受一个随机数生成器作为参数来打乱容器中的元素。

使用 std::random_shuffle(C++11及之前的版本)

#include <algorithm>
#include <vector>
#include <iostream>int main() {std::vector<int> vec = {1, 2, 3, 4, 5};// 使用 random_shuffle 打乱 vec 中的元素std::random_shuffle(vec.begin(), vec.end());for (int num : vec) {std::cout << num << " ";}std::cout << std::endl;return 0;
}

使用 std::shuffle(C++14及之后的版本)

#include <algorithm>
#include <vector>
#include <iostream>
#include <random> // 引入随机数库int main() {std::vector<int> vec = {1, 2, 3, 4, 5};// 创建一个随机数生成器std::mt19937 generator(std::random_device{}());// 使用 shuffle 和随机数生成器打乱 vec 中的元素std::shuffle(vec.begin(), vec.end(), generator);for (int num : vec) {std::cout << num << " ";}std::cout << std::endl;return 0;
}

http://www.mrgr.cn/news/13190.html

相关文章:

  • Leetcode面试经典150题-5.最长回文子串
  • 0828作业+梳理
  • 【图像去噪】论文复现:代替ReLU!Pytorch实现即插即用激活函数模块xUnit,并插入到DnCNN中实现xDnCNN!
  • C++day2
  • Lottie动画
  • 【Material-UI】深入了解Radio Group中的useRadioGroup Hook
  • Markdown 美化 Github 个人主页
  • 使用Python 访问Neo4J 数据库
  • mp总结 mybatisPlus
  • 07 - procfs
  • 【线程池】
  • 【计算机网络】计算机网络的性能指标
  • 算法笔试-编程练习-H-02-24
  • 愿遗忘与你同在:使用 Noisy Labels 学习的替代重播
  • 基于SSM+小程序的旅游社交登录管理系统(旅游4)(源码+sql脚本+视频导入教程+文档)
  • 【开端】 进行页面升级或维护时不影响用户体验NGINX配置
  • 常量指针与指针常量
  • 【深入解析】最优控制中的Bellman方程——从决策到最优路径的探索
  • Qt_两种创建组件的方式-通过图形化-通过代码
  • [HZNUCTF 2023 preliminary]flask