C++11随机引擎和分布交互和成本

2023-12-19

我有很多关于随机引擎和分布、它们的成本和交互的问题:

  1. Is std::random_device一个昂贵的(重型可建造的)物体?如果可能的话,我应该只为我的应用程序创建一个吗?
  2. Are RandomNumberDistribution对象是昂贵的对象还是主要取决于具体的分布?在我看来,例如uniform_int_distribution应该是包含分布范围的非常轻的物体[min, max]并且可能是(?)某种内部状态。
  3. 之间如何相互作用random_device, random_engine and distribution在下面的代码中工作:

    std::random_device rd;
    std::mt19937 gen(rd());
    std::uniform_int_distribution<> distr(1, 10);
    
    auto random_value = distr(gen);
    

最后一行发生了什么?分布从随机引擎获取下一个值,然后将其带到所需的范围[0, 10]?显然,某些对象的内部状态在调用后应该被修改:绝对random_device, random_engine但确实uniform_int_distribution还有一些内部状态吗?


1)通常情况并非如此,初始化要么是微不足道的,要么可与某些 PRNG 初始化相比较,但是调用operator()可能会访问操作系统以获取安全随机数,这可能会很昂贵。

2)主要取决于分配。它们包含分布参数(如果需要,您可以检索这些参数)和可选地一些内部状态(IIRC 大多数实现并不关心它)。所以初始化分配就像初始化小结构一样。

3) 分配对象调用发电机 operator()未指定的次数(从 0 到 Infini 次),并从由产生的位序列创建一个随机数发电机。然后它返回生成的bumber。 它可能会进步发电机状态并可能存储由产生的未使用的位发电机 in 分配内部状态。

random_device如果它实现为系统 RNG 的句柄,则可能甚至没有内部状态。否则,当您调用它时,它的状态会在第二行提前operator()产生随机数,您将用作您的种子发电机.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++11随机引擎和分布交互和成本 的相关文章

  • boost::multi_index_container 复合键中的 equal_range 与比较运算符

    我正在尝试从多索引容器查询结果 其中值类型是三个元素的结构 第一个值已给出 但第二个和第三个值必须大于或小于查询参数 经过搜索后 我发现必须实现自定义密钥提取器 并且这里的一些链接建议相同 但我无法实现它 boost multi index
  • 在 LINQ 查询中返回不带时间的日期

    我正在编写一个查询 我想计算按日期联系我们的呼叫中心的次数 看起来很简单 但由于联系日期字段是日期时间字段 我得到了时间 因此当我按联系日期 时间 分组时 每个联系日期实例的计数为 1 所以 我想只按日期分组 而不按时间分组 下面是我用来查
  • C++:无法使用scoped_allocator_adaptor传播polymorphic_allocator

    我有一个vector
  • Func 方法参数的首选命名约定是什么?

    我承认这个问题是主观的 但我对社区的观点感兴趣 我有一个缓存类 它采用类型的缓存加载器函数Func
  • 如何在C++中实现模板类协变?

    是否可以以这样一种方式实现类模板 如果模板参数相关 一个对象可以转换为另一个对象 这是一个展示这个想法的例子 当然它不会编译 struct Base struct Derived Base template
  • FFMPEG Seeking 带来音频伪影

    我正在使用 ffmpeg 实现音频解码器 在读取音频甚至搜索已经可以工作时 我无法找到一种在搜索后清除缓冲区的方法 因此当应用程序在搜索后立即开始读取音频时 我没有任何工件 avcodec flush buffers似乎对内部缓冲区没有任何
  • fgets() 和 Ctrl+D,三次才能结束?

    I don t understand why I need press Ctrl D for three times to send the EOF In addition if I press Enter then it only too
  • C# 中可空类型是什么?

    当我们必须使用nullable输入 C net 任何人都可以举例说明 可空类型 何时使用可空类型 https web archive org web http broadcast oreilly com 2010 11 understand
  • 使用 C# 在 WinRT 中获取可用磁盘空间

    DllImport kernel32 dll SetLastError true static extern bool GetDiskFreeSpaceEx string lpDirectoryName out ulong lpFreeBy
  • c# Asp.NET MVC 使用FileStreamResult下载excel文件

    我需要构建一个方法 它将接收模型 从中构建excel 构建和接收部分完成没有问题 然后使用内存流导出 让用户下载它 不将其保存在服务器上 我是 ASP NET 和 MVC 的新手 所以我找到了指南并将其构建为教程项目 public File
  • 基于范围的 for 循环中的未命名循环变量?

    有没有什么方法可以不在基于范围的 for 循环中 使用 循环变量 同时也避免编译器发出有关未使用它的警告 对于上下文 我正在尝试执行以下操作 我启用了 将警告视为错误 并且我不想进行像通过在某处毫无意义地提及变量来强制 使用 变量这样的黑客
  • 按字典顺序对整数数组进行排序 C++

    我想按字典顺序对一个大整数数组 例如 100 万个元素 进行排序 Example input 100 21 22 99 1 927 sorted 1 100 21 22 927 99 我用最简单的方法做到了 将所有数字转换为字符串 非常昂贵
  • 编译的表达式树会泄漏吗?

    根据我的理解 JIT 代码在程序运行时永远不会从内存中释放 这是否意味着重复调用 Compile 表达式树上会泄漏内存吗 这意味着仅在静态构造函数中编译表达式树或以其他方式缓存它们 这可能不那么简单 正确的 他们可能是GCed Lambda
  • .NET 选项将视频文件流式传输为网络摄像头图像

    我有兴趣开发一个应用程序 它允许我从 xml 构建视频列表 包含视频标题 持续时间等 并将该列表作为我的网络摄像头流播放 这意味着 如果我要访问 ustream tv 或在实时通讯软件上激活我的网络摄像头 我的视频播放列表将注册为我的活动网
  • 网络参考共享类

    我用 Java 编写了一些 SOAP Web 服务 在 JBoss 5 1 上运行 其中两个共享一个类 AddressTO Web 服务在我的 ApplycationServer 上正确部署 一切都很顺利 直到我尝试在我的 C 客户端中使用
  • AccessViolationException 未处理

    我正在尝试使用史蒂夫 桑德森的博客文章 http blog stevensanderson com 2010 01 28 editing a variable length list aspnet mvc 2 style 为了在我的 ASP
  • 将应用程序从 Microsoft Access 迁移到 VB 或 C#.NET

    我目前正试图说服管理层需要将我们的应用程序之一移植到 NET 该应用程序已经发展成为 Access 中的一个庞然大物 SQL 后端 拥有 700 个链接表 650 个表单 子表单 130 个模块和 850 个查询 我几乎知道这样做的所有主要
  • 如何构建印度尼西亚电话号码正则表达式

    这些是一些印度尼西亚的电话号码 08xxxxxxxxx 至少包含 11 个字符长度 08xxxxxxxxxxx 始终以 08 开头 我发现这个很有用 Regex regex new Regex 08 0 9 0 9 0 9 0 9 0 9
  • 如何使用 ReactiveList 以便在添加新项目时更新 UI

    我正在创建一个带有列表的 Xamarin Forms 应用程序 itemSource 是一个reactiveList 但是 向列表添加新项目不会更新 UI 这样做的正确方法是什么 列表定义 listView new ListView var
  • 更改显示的 DPI 缩放大小使 Qt 应用程序的字体大小渲染得更大

    我使用 Qt 创建了一些 GUI 应用程序 我的 GUI 应用程序包含按钮和单选按钮等控件 当我运行应用程序时 按钮内的按钮和字体看起来正常 当我将显示器的 DPI 缩放大小从 100 更改为 150 或 200 时 无论分辨率如何 控件的

随机推荐

  • 如何为 ollydbg 2.x.x 设置插件? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我从其官方网站下载了最新的ollydbg 2 x版本以及tuts4you的一些插件 但如何启用 安装插件呢 要么将插件 dll 放入专用目录中 例如P
  • 如何在Python 2.7.3版本中提取7z zip文件

    如何在 python 中提取 7z zip 文件 请让我知道是否有任何库可以实现这一点 我已经在 python 2 7 3 版本中安装了 libarchive 库 但我无法使用该库 您可以使用PyLZMA and py7zlib要提取的库7
  • C# 为 DSA 加密算法生成公钥和私钥 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何为 DSA 算法生成字节数组格式
  • 在 Eclipse Ubuntu 中重新索引存储库

    我只是安装 git 存储库并为 eclipse 安装 EGit 插件 当我更改代码并尝试保存时 Eclipse 开始重新索引存储库 然而这个过程永远不会结束 并且日食变得更慢 我只是在网上搜索并尝试应用一些建议的解决方案 但它们不起作用 任
  • CMake 无法在 macOS 上找到 LAPACK sgemm

    我正在尝试编译这段代码 https github com ElmerCSC elmerfem tree wip mac 但是运行时cmake 在构建文件夹中我收到消息 Looking for Fortran sgemm Looking fo
  • PHP 如何使用curl 打开多个源?

    我有一些代码来获取 site1 的 json 内容 但我还需要获取 site2 的内容 我应该为 site2 再次重写所有这些行吗 或者也许我可以在curl setopt ch curl init curl setopt ch CURLOP
  • 如何在react-native中使jwplayer全屏

    我打算在react native中使用jwplayer 截至目前 Github 上还没有可用的 jwplayer React Native 插件 因此我正在开发一个 Native 模块 该模块将在 React Native 中渲染 jwpl
  • SmartPointer:基类和派生类之间的转换

    假设你有一个这样的函数 SmartPtr a doSomething SmartPtr a a 和这样的课程 class A class B public A 现在我这样做 SmartPtr a foo new B doSomething
  • Java 检查点

    我希望我的问题不太模糊 但我正在寻找有关 Java 检查点的更多信息 我必须生成一个大搜索树 我希望能够在程序中断后 例如突然重新启动后等 恢复计算 因此我需要检查点 我发现关于这方面的文档很少 而且我的印象是很多开发在 90 年代中期就停
  • NSArray 对象和铸造

    我有课A有财产NSString name 如果有一个NSArray并添加许多A对象放入此数组中 每次检索对象时是否都需要进行转换 IE NSString n NSString arr objectAtIndex 1 或者有另一种方法可以做到
  • PDFBox:从 ​​PDF 中删除单个字段

    我描述该问题的最简单方法是 我们使用 PDFbox 从 HelloSign 发送给我们的 PDF 中仅删除一个字段 例如信用卡号码 有问题的数据将始终位于最后一页 并且始终位于页面中的相同坐标处 需要从 PDF 中完全删除数据 我们不能简单
  • 将 geom_smooth 与变换后的 y 一起使用

    有没有办法使用geom smooth当 的时候y公式中的变量是否被变换 例如 This works myplot lt qplot speed dist data cars myplot geom smooth method lm form
  • 在matlab中将列表拆分为多个变量

    如果我有一个简短的列表 假设有两个或三个元素 我希望有一个函数可以将其拆分为多个变量 像这样的东西 li 42 43 a b split li gt a 42 gt b 43 我正在寻找一些方法来使我的代码在 matlab 中更短 在某些情
  • 来自带有 tf.data 的多个 TFRecord 文件的批量顺序数据

    让我们考虑将数据集拆分为多个 TFRecord 文件 1 tfrecord 2 tfrecord etc 我想生成大小的序列t say 3 由来自同一 TFRecord 文件的连续元素组成 我不希望序列包含属于不同 TFRecord 文件的
  • 从网络服务器持续同步更改

    我正在寻找一种方法将我的文件从 Web 服务器 Ubuntu 14 同步到本地服务器 Windows Server Web 服务器创建本地服务器需要的小文件 Web 服务器位于 DMZ 中 可通过 SSH 访问 只有本地服务器才能访问 We
  • Firebase on() 不返回任何内容

    我有这段代码使用 on 从 Firebase 获取数据 在 on 内部我创建了一个对象 我想将其发送出函数以供将来使用 使用 return 但它似乎不返回任何内容 所以问题是我怎样才能做到正确 postsRef on value funct
  • Ansible - 仅在满足前提条件时运行一系列任务

    我有一个需要从远程 URL 安装的软件包 如下所示 get url url http foo com foo deb dest tmp command dpkg skip same version i tmp foo deb apt upd
  • 将 JsonNode 转换为 POJO

    这可能看起来有点不寻常 但我正在寻找一种有效的方法来转换 映射JsonNode into a POJO 我将模型的一些信息存储在 json 文件中 并且必须支持模型的几个版本 我所做的是将 json 文件加载到 JsonNode 的内存中
  • 结构初始值设定项错误中的值太少

    我收到错误 在 cluster append clusters Cluster Point rand Float64 Point 行的结构初始化器中的值太少 引发错误的函数如下 func initClusters k int cluster
  • C++11随机引擎和分布交互和成本

    我有很多关于随机引擎和分布 它们的成本和交互的问题 Is std random device一个昂贵的 重型可建造的 物体 如果可能的话 我应该只为我的应用程序创建一个吗 Are RandomNumberDistribution对象是昂贵的