c – 通过引用辅助函数传递随机数生成器mt19937是否正确?

c – 通过引用辅助函数传递随机数生成器mt19937是否正确?,第1张

概述int helper( mt19937& generator ){ do stuff; return 0; }#include "helper.h" // helper function defined in separate source file and included in headermt19937 generator(time(NULL));in
int helper( mt19937& generator ){     do stuff;     return 0; }#include "helper.h" // helper function defined in separate source file and included in headermt19937 generator(time(NulL));int main( ) {    help(generator);}

创建和播种mt19937随机数生成器是否正确,然后通过引用将其传递给函数使用?

我这样做是因为我知道我只想种下mt19937一次.但是我在需要使用随机数生成器的单独源文件中有很多辅助函数.例如.具有随机播放功能.

解决方法 是的,通过引用传递发电机是正确的. mt19937具有内部状态,需要进行修改才能获得下一个随机数.如果您按值传递生成器,那么您将复制该状态,然后多个函数将获得相同的随机数.这也是你不能通过const& amp;因为如果它是const,它将无法修改该内部状态. 总结

以上是内存溢出为你收集整理的c – 通过引用辅助函数传递随机数生成器mt19937是否正确?全部内容,希望文章能够帮你解决c – 通过引用辅助函数传递随机数生成器mt19937是否正确?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1217507.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存