MQL5의 OOP에 대한 질문 - 페이지 77

 
Vladimir Simakov :

이미 더 어렵다는 데 동의합니다)))

로그에 출력하지 않고 파일에 출력하는 예제를 요청하고 싶었지만 정중하게 침묵을 지켰습니다. 내 로깅이 더 실용적이고 의미가 있지만 터미널 로그에서 터미널 출력이 무엇인지 이해하기 위해 EA가 무엇인지 이해합니다. 매우 불편한

 

MQ에 아직 포함되지 않은 복잡한 인대를 언제 비틀기 시작합니까?

 

다음과 같은 표준 전문가:

ME에서 {} 선택에 혼란이 있는 동안 VS2019의 빈 C ++ 프로젝트 에 MQL 코드를 복사했습니다. VS가 이에 대해 맹세하는 이유는 다음과 같습니다.

 struct SHash
{
   ulong hash[ 2 ];
   bool operator ==( const SHash& value ) const { return ( this . hash[ 0 ] == value .hash[ 0 ] && this . hash[ 1 ] == value .hash[ 1 ]); }
};

씁니다: "표현식은 클래스 유형을 가져야 합니다"

 
Igor Makanu :

표준 감정가, 다음과 같은 질문:

ME에서 {} 선택에 혼란이 있는 동안 VS2019의 빈 C ++ 프로젝트에 MQL 코드를 복사했습니다. VS가 이에 대해 맹세하는 이유는 다음과 같습니다.

씁니다: "표현식은 클래스 유형을 가져야 합니다"

그리고 C++에서 이것은 포인터입니다..

또는 *를 재정의하거나 명시적으로 지정 ->

 
Maxim Kuznetsov :

그리고 C++에서 이것은 포인터입니다..

또는 *를 재정의하거나 명시적으로 지정 ->

예, 나는 그들이 여기에 쓰는 모든 기사에서처럼 이것을 고수하는 데 익숙해졌습니다. 일반적으로 아무데도 쓰지 마십시오. 그런 단순한 구조 안에는 단순히 옵션이 없습니다 ... 과시, IMHO

 
Igor Makanu :

다음과 같은 표준 전문가:

ME에서 {} 선택에 혼란이 있는 동안 VS2019의 빈 C ++ 프로젝트에 MQL 코드를 복사했습니다. VS가 이에 대해 맹세하는 이유는 다음과 같습니다.

씁니다: "표현식은 클래스 유형을 가져야 합니다"

다음과 같아야 합니다.

 struct SHash
{
         long hash[ 2 ];
         bool operator ==( const SHash& value ) const { return ( this ->hash[ 0 ] == value .hash[ 0 ] && this ->hash[ 1 ] == value .hash[ 1 ]); }
};
 
Andrei Novichkov :

다음과 같아야 합니다.

MQL에서 필요하고 VS를 편집기로 로드했으며 코드를 살펴보고 볼 수 있을 것이라고 생각합니다)))

그러나 MQL을 위한 그러한 구조에서 - 이것을 작성하는 요점이 무엇입니까? - 나에게 의미가 없다

 
Igor Makanu :

MQL에서 필요하고 VS를 편집기로 로드했으며 코드를 살펴보고 볼 수 있을 것이라고 생각합니다)))

그러나 MQL을 위한 그러한 구조에서 - 이것을 작성하는 요점이 무엇입니까? - 나에게 의미가 없다

확인이 필요하겠지만, 언뜻 보기에는 MQL 뿐만 아니라 이 표현에서도 특별한 의미가 없다)
 
Igor Makanu :

나는 계속해서 글을 씁니다 - 나는 시간이 있습니다 (나는 TV를 보지 않기 때문에)) - 나는 언어의 가능성에 대한 기술 정보를 수집합니다. OOP ... 질문을 제기하는 모든 것에 대해 - 포럼이 활성화되어 있습니다. 나는 이것을 사용합니다 기회 "백퍼센트";)

그렇다면 단순히 MQL에서 Sharp 코드를 호출할 수 있다면 C#에서 MQL로 전환하는 요점이 무엇인지에 대한 질문이었습니다. 물론 목표가 시장에 배치하거나 MQ 클라우드에서 최적화하는 것이 아니라면.

C#에서 MQL로의 전환은 정말 고통스러운 일이라고 생각합니다.) 객체 작업의 편리함과 용이함에 익숙해지면 객체 삭제에 대해 걱정할 필요가 없습니다. 그러면 여기서 반대가 됩니다. 어떤 식으로든 본격적인 OOP는 참조 개체에 참조 카운터가 있다고 가정합니다. 그리고 C++에서 이것은 래퍼의 도움으로 해결됩니다 - 스마트 포인터. MQL에서 스마트 포인터를 사용하는 것은 -> 연산자의 부족 및 기타 문제로 인해 매우 지루합니다.

글쎄, 일반적으로 C ++에서 이동할 때 모든 것이 다소간 명확하다면 많은 불편과 제한이 있지만 일반적으로 가까운 것이 있습니다. 그리고 몇 가지 이점(예: 관리되는 환경이 있기 때문에 실행 중 안정성이 향상됨)도 있습니다. 그러나 샤프에서 전환하면 하나의 플러스가 보이지 않습니다. 단점만)

 
Igor Makanu :

예, 나는 그들이 여기에 쓰는 모든 기사에서처럼 이것을 고수하는 데 익숙해졌습니다. 일반적으로 아무데도 쓰지 마십시오. 그런 단순한 구조 안에는 단순히 옵션이 없습니다 ... 과시, IMHO

여기에 일반적으로 논란의 여지가 많은 스타일이 이식되고 있습니다))) 동일

 return (retValue);

왜 대괄호인가? 이것은 JS가 아니지만 필요하지는 않습니다.

그리고 이것이 정말로 필요하고 전문가에게 정확하다면 이것 대신 매크로 대체

 #ifdef __cplusplus
   #define THIS * this
#else
   #define THIS this
#endif