Maksim Neimerik : 그래서 주님의 평결은 무엇입니까?) .mqh(#include)를 사용하여 .mq5 프로그램을 작성하면 예기치 않은 결과를 두려워하지 않고 extern을 안전하게 처방하거나(mql4에서 했던 것처럼) 여전히 입력을 사용할 수 있습니까?
MQL 프로그램의 표준 구성 사용: 코드 시작 부분에 모든 입력, 모두 포함 - 이것이 개발자의 예제가 작성되는 방식이며, 코드베이스에 있는 코드의 99%가 작성된 방식이며 놀라움이 없을 것입니다.
extern에 대해 다시 한 번 반복합니다. 프로그램 실행 중에 변경할 수 있지만 제 생각에는 이것은 나쁜 습관입니다. 일반적으로 OnInit()의 모든 외부 변수는 해당 변수에 복사된 다음 작업합니다(예: 전문가 4번째 기호와 5번째 기호에서 작업 - 왜건 네트워크에서 이 디자인의 예)
마지막으로 - extern을 사용하지 마십시오. 이전 코드를 수정한 다음 입력으로 바꾸면 extern에 항목이 있는 경우 컴파일러에서 경고를 표시하도록 도와줍니다. 이 문제는 수정해야 합니다.
그건 그렇고, 나는 여기서 컴파일러가 enum enum의 내용을 변수로 다시 선언할 수 있다는 것을 신경 쓰지 않는다는 것을 알게 되었습니다.
enum mode5
{
Manual = 0 , // Standard in Pips
Kijun_sen = 1// Stoploss +/- Kijun-sen
};
//а потом где угодно можно объявить и компилятору будет пофигstring Kijun_sen = "Да мне вообще пофиг что ты там объявил" ;
enum mode5
{
Manual = 0 , // Standard in Pips
Kijun_sen = 1// Stoploss +/- Kijun-sen
};
string Kijun_sen = "Да мне вообще пофиг что ты там объявил" ;
voidOnStart ()
{
mode5 x = Kijun_sen;
}
//+------------------------------------------------------------------+
기대:
네, 도서관이 있습니다. 물론 다양한 변수가 있을 것이다. include를 통해 mqh를 연결하는 것을 의미합니다.
C++에서 extern은 링크된 라이브러리에 설명되어 있습니다. 그렇지 않으면 컴파일러 에서 프로젝트 를 컴파일할 수 없습니다.
기대:
그리고 그 점은 무엇입니까? 컴파일할 때 입력을 설명하려는 경우 프로그램 본문에 포함이 삽입됩니다.
옵션으로 외부 수정자를 사용하여 클래스 또는 구조를 설명합니다.)
C++에서 extern은 링크된 라이브러리에 설명되어 있습니다. 그렇지 않으면 컴파일러에서 프로젝트를 컴파일할 수 없습니다.
"#include"를 통해 라이브러리에 포함된 파일을 호출하는 것이 일반적일 것입니다.
...
그리고 그 점은 무엇입니까? 컴파일할 때 입력을 설명하려는 경우 프로그램 본문에 포함이 삽입됩니다.
요점은 포함된 파일에 대해 전체 프로젝트 와 독립적으로 작업하고 별도로 컴파일하여 오류를 확인할 수 있다는 것입니다.
요점은 전체 프로젝트와 독립적으로 포함 파일에 대해 작업하고 별도로 컴파일하여 오류를 확인할 수 있다는 것입니다.
내 생각에 우리는 단순히 존재하지 않는 곳에서 의미를 찾고 있습니다.
IMHO, extern은 이전에 작성된 수천 개의 코드와의 호환성을 위해 남겨두었고 인증서는 Wiki에서 일부 정보를 복사한 사람이 작성했습니다.
내 생각에 우리는 단순히 존재하지 않는 곳에서 의미를 찾고 있습니다.
IMHO, extern은 이전에 작성된 수천 개의 코드와의 호환성을 위해 남겨두었고 인증서는 Wiki에서 일부 정보를 복사한 사람이 작성했습니다.
그래서 주님의 평결은 무엇입니까?) .mqh(#include)를 사용하여 .mq5 프로그램을 작성하면 예기치 않은 결과를 두려워하지 않고 extern을 안전하게 처방하거나(mql4에서 했던 것처럼) 여전히 입력을 사용할 수 있습니까?
어떤 목적을 찾고 있습니다. 그들은 다른 목적을 가지고 있습니다.
그래서 주님의 평결은 무엇입니까?) .mqh(#include)를 사용하여 .mq5 프로그램을 작성하면 예기치 않은 결과를 두려워하지 않고 extern을 안전하게 처방하거나(mql4에서 했던 것처럼) 여전히 입력을 사용할 수 있습니까?
MQL 프로그램의 표준 구성 사용: 코드 시작 부분에 모든 입력, 모두 포함 - 이것이 개발자의 예제가 작성되는 방식이며, 코드베이스에 있는 코드의 99%가 작성된 방식이며 놀라움이 없을 것입니다.
extern에 대해 다시 한 번 반복합니다. 프로그램 실행 중에 변경할 수 있지만 제 생각에는 이것은 나쁜 습관입니다. 일반적으로 OnInit()의 모든 외부 변수는 해당 변수에 복사된 다음 작업합니다(예: 전문가 4번째 기호와 5번째 기호에서 작업 - 왜건 네트워크에서 이 디자인의 예)
마지막으로 - extern을 사용하지 마십시오. 이전 코드를 수정한 다음 입력으로 바꾸면 extern에 항목이 있는 경우 컴파일러에서 경고를 표시하도록 도와줍니다. 이 문제는 수정해야 합니다.
그건 그렇고, 나는 여기서 컴파일러가 enum enum의 내용을 변수로 다시 선언할 수 있다는 것을 신경 쓰지 않는다는 것을 알게 되었습니다.
그건 그렇고, 나는 여기서 컴파일러가 열거형 열거의 내용을 변수로 다시 선언할 수 있다는 것을 신경 쓰지 않는다는 것을 발견했습니다.
enum 유형 의 변수를 선언하면 ?
암시적 열거형 변환 tst1.mq5 24 17
EnumToString()을 확인할 수도 있습니다...
선언된 변수가 없는 유형은 사용되지 않는 것으로 컴파일에서 단순히 던져졌다고 생각합니다.