jiangnanmeng 2019-06-03 13:41 采纳率: 0%
浏览 1281

请问c++里面 & 和 && 区别在哪

新手刚开始学c++ 看到教程里有用到&&这种声明变量的方式,搞不清楚是什么状况,请教一下。。

array arr{1.1, 2.2, 3.3, 4.4, 5.5};
float total = 0.0;
for (float value : arr) total += value;
total = 0.0;
for (float &value : arr) total += value;
total = 0.0;
for (auto &&value : arr) total += value;

上面的代码,在循环里输出value的值是一样的,total的值也是一样的,这三种方式写的话,区别在哪里?
最后一个 &&value 为什么不能用float?会报错

  • 写回答

6条回答 默认 最新

  • Zrx_ 2019-07-26 10:48
    关注

    上面说的&&逻辑运算符都是什么鬼,能不能看问题下面的代码

    不加&:把数组的元素值赋给value变量,在for循环中改变value不会影响对应在数组内的元素值
    一个&表示(左值)引用:在for循环内改变value会改变数组内对应的元素值
    两个&&表示右值引用: 只能绑定常量值,数组元素是变量所以会报错

    评论

报告相同问题?

悬赏问题

  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法