【问题标题】:What does the bitwise operator & do in this example?在这个例子中,按位运算符 & 做什么?
【发布时间】:2014-12-07 21:25:01
【问题描述】:

此示例来自 MQL4,但这并不重要:

int OnCalculate( const int       rates_total,
                 const int       prev_calculated,
                 const datetime &time[],
                 const double   &open[],
                 const double   &high[],
                 const double   &low[],
                 const double   &close[],
                 const long     &tick_volume[],
                 const long     &volume[],
                 const int      &spread[]
                 )

重要的是我不明白位运算符 & 在这里告诉我什么。

我知道如果你有 2 个变量并使用它var1 && var2 会发生什么,但在这种情况下使用数组,有人可以在这里帮助我吗?

【问题讨论】:

标签: arrays bitwise-operators bitwise-and mql4


【解决方案1】:

参数中的&表示pass-by reference,而不是按位与。通过引用而不是按值传递意味着参数值不会被复制,而是被复制并传递给函数的数据结构的地址。

编辑:请参阅下面@Sneftel 关于传递参考的评论

【讨论】:

  • Nitpick:& 在技术上并不表示传递引用(语言中没有这样的东西),但传递的变量是一个引用。区别在于函数内部的变量类型被视为引用类型,而不是非引用类型。
  • @Sneftel 很好,我将编辑答案并指向您的评论。
猜你喜欢
  • 2020-08-26
  • 1970-01-01
  • 1970-01-01
  • 2020-11-05
  • 2020-11-20
  • 1970-01-01
  • 2013-07-10
  • 1970-01-01
  • 2014-07-23
相关资源
最近更新 更多