加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 参数末尾的“&”运算符

发布时间:2020-12-16 09:48:15 所属栏目:百科 来源:网络整理
导读:我是菜鸟,这是我的第一篇文章. 关于’’字符,我理解它作为参考,地址和逻辑运算符的一般用法,… 但是,当我试图让增强随机数生成器功能起作用时,我注意到了’’的另一种用法.我以前没见过的人物……也没有关于它的明确文件(至少在网上). 请注意’’下方来自END
我是菜鸟,这是我的第一篇文章.

关于’&’字符,我理解它作为参考,地址和逻辑运算符的一般用法,…

但是,当我试图让增强随机数生成器功能起作用时,我注意到了’&’的另一种用法.我以前没见过的人物……也没有关于它的明确文件(至少在网上).

请注意’&’下方来自END参数mt19937&amp ;.

boost::variate_generator<boost::mt19937&,boost::uniform_int<> > die(gen,dist);

这是什么?我假设它在某种程度上被用作参考,但如果我试图把’&’在参数的前面,编译器说这是不可接受的.

任何解释将不胜感激.

NK.

解决方法

变量之前的&符号为您提供该变量的地址

int a = 3;
std::cout << &a << std::endl; // 0x12345678 or similar

类型后的&符号使其成为引用类型

int& b = a;
std::cout << b << std::endl; // 3
a = 4;
std::cout << b << std::endl; // 4

boost :: mt19937是一种类型,所以boost :: mt19937&是boost :: mt19937的引用类型.之前放置&符号(& boost :: mt19937)没有意义,因为你无法获得类型的地址.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读