2014-12-07 4 views
1

이 예는 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을 사용하지만 배열이있는 상황에서 누군가가 나를 도와 줄 수 있다면 어떻게 될지 알고 있습니다.

+1

그것은 비트 단위 AND하지있어, 상기 [연산자의 어드레스]의 통과에 의해 참조 (http://www.cplusplus.com/doc/tutorial/pointers /) – Christian

답변

1

인수에 &pass-by reference을 나타내며 bitwise는 표시하지 않습니다. pass-by 값과 반대로 참조를 전달하면 인수 값이 복사되지 않고 대신 복사되어 함수에 전달 된 데이터 구조의 주소입니다.

편집 : 아래 Sneftel의 주석에 대한 참조 @

+2

Nitpick : '&'는 기술적으로 참조에 의한 통과를 나타내지는 않지만 (언어에는 그러한 것이 없습니다), 전달되는 변수는 참조입니다 *. 차이점은 함수 내부의 변수 형식이 참조 형식이 아닌 참조 형식으로 처리된다는 사실에서 볼 수 있습니다. – Sneftel

+0

@Sneftel 잘 들어, 내가 대답을 편집하고 의견을 가리 키도록하겠습니다. – Christian