오류, 버그, 질문 - 페이지 1707

 
Комбинатор :
포인터에 rvalue가 할당된 다음 새 A로 덮어씁니다.

어디에? 여기?

this[0] = newA;

여기서 operator[]는 데이터[0] 셀에 포함된 값을 반환합니다. 이 셀에 대한 참조나 포인터가 아니라 단순히 이 셀에 포함된 값 의 복사본 , 즉 r값. 당연히 이 복사본에는 아무 것도 할당할 수 없습니다. 클래스 A의 operator=가 이것을 어떻게 변경하는지 이해가 되지 않습니다.

 
Sergei Vladimirov :
나는 아직도 마지막 예를 이해하지 못한다. 클래스 A에서 "=" 연산자를 오버로딩하면 this[0]이 rvalue에서 lvalue로 바뀝니다... 방법을 알 수 없습니다. 이것들은 MKL의 일부 기능이며 프로에는 그러한 동작이 없습니다. fxsaber , 어떻게 이 디자인을 추측했습니까? 과부하 = A를 의미합니다. 아니면 무작위로?
나는 완전한 이해를 가지고 그것을 했다. 그렇지 않으면 나는 이것을 쓰지 않았을 것입니다.

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

라이브러리: TypeToBytes

fxsaber , 2016.09.21 21:25

게시됨. 이제 모든 변수(구조 또는 표준 유형)에 대해 배열과 마찬가지로 읽기뿐만 아니라 쓰기도 작동합니다.

_W(AnyVariable)[Pos] = AnyValue; // Записывает по байтовому смещению Pos значение AnyValue в переменную AnyVariable

구현을 추측하는 것은 쉽지 않았습니다. 아마도 OOP의 평균 지식에 대한 좋은 테스트로 판명되었을 것입니다. 저는 클래스에 대한 고전 만 압니다.

비슷한 것을 아시는 분은 교육용 링크를 공유해 주세요.


 
fxsaber :
나는 완전한 이해를 가지고 그것을 했다. 그렇지 않으면 나는 이것을 쓰지 않았을 것입니다.

저것들. 모든 것을 이해하지만 말할 수 없습니까? )) 분명히.
 
Sergei Vladimirov :
저것들. 모든 것을 이해하지만 말할 수 없습니까? )) 분명히.
네, 그렇습니다. 명확히 할 수 없습니다. 따라서 개발자에게 올바르게 수행하도록 요청합니다.
 
Sergei Vladimirov :

어디에? 여기?

this[0] = newA;

여기서 operator[]는 데이터[0] 셀에 포함된 값을 반환합니다. 이 셀에 대한 참조나 포인터가 아니라 단순히 이 셀에 포함된 값 의 복사본 , 즉 r값. 당연히 이 복사본에는 아무 것도 할당할 수 없습니다. 클래스 A의 operator=가 이것을 어떻게 변경하는지 이해가 되지 않습니다.

아마도 여기 모든 것이 MKL의 링크와 동일한 문제에 있습니다.

A* operator []( const int Pos )
{
     return ( this .Data[Pos]);
}

결과가 어떻든 여기에 반환되는 것은 값이 아니라 값에 대한 참조입니다. lvalue... 그런데 왜 바로 새 값을 할당할 수 없는지, 이것을 위해 클래스 A에 operator=가 필요한 이유는 무엇입니까?.. 이해하세요...

 
Sergei Vladimirov :

아마도 여기 모든 것이 MKL의 링크와 동일한 문제에 있습니다.

결과가 어떻든 여기에 반환되는 것은 값이 아니라 값에 대한 참조입니다. lvalue... 그런데 왜 바로 새 값을 할당할 수 없고, 이것을 위해 클래스 A에 operator=가 필요한 이유는 무엇입니까?.. 이해하세요...

예, MQL의 모든 기능에 관한 것입니다. rvalue 포인터에 무언가를 할당하면 해당 포인터는 자동으로 객체 참조로 캐스팅됩니다. 모두가 어제 태어난 것처럼!

일반적으로 참조로 함수 값을 반환하는 것과 관련하여 MQL에서 그러한 기회를 갖고 싶습니다. 오랫동안 서비스 데스크에서 이것에 대해 질문해 왔습니다. 그러나 그들은 휴식을 취하며 안전하지 않다고 말합니다. 사실, 이것은 참조로 인수를 전달하는 것보다 더 위험하지 않습니다.

 
Alexey Navoykov :

예, MQL의 모든 기능에 관한 것입니다. rvalue 포인터에 무언가를 할당하면 해당 포인터는 자동으로 객체 참조로 캐스팅됩니다. 모두가 어제 태어난 것처럼!

이제 명확합니다. 감사합니다.
 
리본에서 라인을 선택할 기회가 충분하지 않습니다. 볼 수는 있지만 강조 표시합니다. 아니요.
 
도대체?
 2016.09 . 26 14 : 02 : 11.858 Books   invalid book item[RTS- 12.16 ,buy, 98090.00000 ,- 16 ]
 

유형 불일치

MqlTick time_msc - .

CopyTicks from -ulong .