템플릿 매개변수가 있는 컴파일러 버그 = void* - 페이지 9

 
A100 :

MQL5에서 우선순위가 다르기 때문에 경고가 발행되었습니다. 아니 때문에 ...

따라서 개발자는 이전 결함을 수정했습니다 ... 더 이상

여기에도 우선 순위에 문제가 있습니까?

 
fxsaber :

여기에도 우선 순위에 문제가 있습니까?

MQL5와 기존 MQL4는 다릅니다... 이미 읽어보셨을 거라 생각 합니다.
 
A100 :
MQL5와 기존 MQL4는 다릅니다... 이미 읽어보셨을 거라 생각 합니다.

차이점 목록을 부탁드립니다.

 
fxsaber :

차이점 목록을 부탁드립니다.

자신을 구성할 수 없습니다? 주어진 링크를 따르시겠습니까?

MQL5 및 새로운 MQL4

작업

설명

실행 순서

&&

논리 연산 및

왼쪽에서 오른쪽으로

||

논리 연산 또는

왼쪽에서 오른쪽으로


구형 MQL4

||

논리 연산 또는

왼쪽에서 오른쪽으로

&&

논리 연산 및

왼쪽에서 오른쪽으로

작업 그룹의 우선 순위가 높을수록 테이블에서 더 높은 위치에 위치합니다.

귀하의 예:

 bool a = r && g || b;
 
Ilya Malev :
불완전한 수식을 작성할 때 Excel이 수행하는 것처럼 컴파일러가 자동으로 대괄호를 "올바르게" 배치하도록 제안하면 더 편리할 것입니다.

일반적으로 브래킷 애호가를 위한 특수 프로그래밍 언어인 LISP가 있습니다. 다음은 검색 엔진에서 발췌한 내용입니다. "이 스타일은 LISP 언어 스타일과 약간 비슷합니다. 그러나 LISP에서 많은 수의 대괄호는 연산자 우선 순위 가 없기 때문에 발생합니다."

 
A100 :

일반적으로 브래킷 애호가를 위한 특수 프로그래밍 언어인 Simula, LISP가 있습니다. 다음은 검색 엔진에서 발췌한 내용입니다. "이 스타일은 LISP 언어 스타일과 약간 비슷합니다. 그러나 LISP에서 많은 수의 괄호는 연산자 우선 순위 가 없기 때문에 발생합니다."

과거 로직에서 개발자가 갑자기 변경한 사항에 대해 컴파일러가 경고하는 것이 좋습니다. mql4에서 코드를 전송한 후 ArrayMaximum 유형의 함수 호출에 대해 동일한 경고가 발생했다면 많은 시간과 신경을 절약했을 것입니다. 알고있다)

 
Ilya Malev :

과거 로직에서 개발자가 갑자기 변경한 사항에 대해 컴파일러가 경고하는 것이 좋습니다.

난 상관 없어. 이러한 경고를 이전/새 MQL4에 그대로 두십시오.

 
"일반 프로그래머 는 C++ 연산의 우선순위를 곱셈표로 기억한다"는 사실에 관해서는 개인적으로 연산자 오버로딩을 자세히 살펴보고 나서야 기억하고 그 전에는 전혀 열지 않았습니다. . mql-프로그래머를 위한 모든 코더가 프로는 아니며 터미널 개발자와 상인 을 위한 언어는 최소한 이것을 고려해야 합니다.
 
Ilya Malev :

mql4에서 코드를 전송한 후 ArrayMaximum 유형의 함수 호출에 대해 동일한 경고가 발생했다면 많은 시간과 신경을 절약했을 것입니다. 알고있다)

그래서 그들은 나오지 않습니다. 이것이 선택적 경고가 나쁜 이유입니다. 컴파일러가 문제가 있는 경우(각각 모두 또는 전혀) 처리할 것이라는 환상을 만듭니다.

 
Ilya Malev :
mql-프로그래머를 위한 모든 코더가 프로는 아니며 터미널 개발자와 트레이더 를 위한 언어는 최소한 이 점을 고려해야 합니다.

정확히! 프로가 아니라 그런 경고가 100배나 도움이 되었습니다.

사유: