//+------------------------------------------------------------------+int start()
{
bool flag;
if (flag){
for ( int a = 0 ; a < 10 ;a++){
Print ( "a = " , a);
}
} else {
for (a = 10 ; a > 0 ;a--){
Print ( "a = " , a);
}
}
}
//+------------------------------------------------------------------+
기본 플래그는 False 로 설정되어 있으므로 변수 a 가 선언된 첫 번째 for 루프는 실행되지 않습니다. 이는 else 분기에서 동일한 "선언되지 않은" 변수를 사용하는 것을 방지하지 않습니다. :)
이것은 변수를 다시 초기화할 필요가 없습니다. 작성한 내용에 따라 모든 작업을 수행하고 변수는 재초기화 없이 논리적 분기의 올바른 위치에서 사용됩니다. 일단 발표하고 자신과 전 인류의 이익을 위해 사용하십시오... :) 가장 중요한 것은 어디에, 왜 사용하는지 헤매지 않는 것입니다...
artmedia70 : 이것은 변수를 다시 초기화할 필요가 없습니다. 작성한 내용에 따라 모든 작업을 수행하고 변수는 재초기화 없이 논리적 분기의 올바른 위치에서 사용됩니다. 일단 발표하고 자신과 전 인류의 이익을 위해 사용하십시오... :) 가장 중요한 것은 어디에, 왜 사용하는지 헤매지 않는 것입니다...
그래서 나는 715 페이지, 07/18/2010 14:56에서 카운터 뒤에 괄호를 두지 않았습니다 ...
위에 표시된 "효과"는 MQL 머신이 먼저 EX4 파일에서 선언된 변수 를 검색하고 논리적 분기에 관계없이 전체를 생성한다는 것을 증명합니다. 한편으로는 RAM을 절약하지 못하고 다른 한편으로는 비슷한 디자인을 만들 수 있지만 제 생각에는 이 스타일이 최선의 선택은 아닙니다.
센스 - 변수를 생성하는 것이 아니라 많은 조건과 카운터입니다.
그러면 언어의 약어를 사용하지 않고 올바르게 작성하는 것이 합리적입니다.
센스 - 변수를 생성하는 것이 아니라 많은 조건과 카운터입니다.
글쎄, 컴파일러는 당신이 그런 일을 할 수있게 해줍니다 ...
기본 플래그는 False 로 설정되어 있으므로 변수 a 가 선언된 첫 번째 for 루프는 실행되지 않습니다. 이는 else 분기에서 동일한 "선언되지 않은" 변수를 사용하는 것을 방지하지 않습니다. :)조건
우리는 여기서 뭔가를 하고 있다
그렇지 않으면 다른 조건
다른 일을 하다
센스 - 변수를 생성하는 것이 아니라 많은 조건과 카운터입니다.
따라서 변수가 선언된 첫 번째 for 루프는 실행되지 않습니다.
그러면 언어의 약어를 사용하지 않고 올바르게 작성하는 것이 합리적입니다.
이것은 변수를 다시 초기화할 필요가 없습니다. 작성한 내용에 따라 모든 작업을 수행하고 변수는 재초기화 없이 논리적 분기의 올바른 위치에서 사용됩니다. 일단 발표하고 자신과 전 인류의 이익을 위해 사용하십시오... :) 가장 중요한 것은 어디에, 왜 사용하는지 헤매지 않는 것입니다...
위에 표시된 "효과"는 MQL 머신이 먼저 EX4 파일에서 선언된 변수 를 검색하고 논리적 분기에 관계없이 전체를 생성한다는 것을 증명합니다. 한편으로는 RAM을 절약하지 못하고 다른 한편으로는 비슷한 디자인을 만들 수 있지만 제 생각에는 이 스타일이 최선의 선택은 아닙니다.
전체 문제는 {}가 없다는 것입니까? 아니면 무엇입니까? 고맙습니다!
전체 문제는 변수 선언에 있었습니다.
int a;
나는 그것을 선언한 다음 필요할 때마다 그것을 사용했고, 당신은 변수를 반복적으로 선언했습니다. 아마도 컴파일러가 그것을 놓치지 않았을 것입니다.
음, {}는 루프의 한 반복에서 실행될 블록의 선언입니다. 루프에 하나의 문이 있으면 {}가 필요하지 않으며, 더 많은 경우 {}를 넣어야 합니다. 그렇지 않으면 루프가 올바르게 간주되지 않는 이유를 찾습니다.
추신: 프로그래밍을 막 시작했다면 항상 for 뒤에 중괄호를 넣은 다음 편안하게 제거하십시오.
루프는 항상 실행되어야 합니다.
그리고 여기에 주기가 있습니다. 이것은 사용되지 않는 블록에서 생성된 변수가 여전히 "게임"에 있고 다시 초기화할 필요 없이 start() 메서드 전체에서 볼 수 있고 사용할 수 있다는 예입니다. 재사용하기 전에 초기화를 해제하십시오.