MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 20

 
Renat Akhtyamov :
for ( int i= 1 ; int i< int n; int i++)                                                                  
...
그래서??? 제발.

아니, 내 말은:

for ( int i = 0 ; i < x; i++ )
{
}
for ( int i = 0 ; i < x; i++ )
{
}
...

예, 하지만 당신이 쓴 디자인은 전혀 시작되지 않을 것입니다.

 
Artyom Trishkin :
각 변수에는 고유한 범위가 있습니다. 중괄호 안에도 - 이 범위에서 선언된 변수에 대한 자체 범위 - 중괄호 안에도 있습니다. 예를 들어, 교차하지 않고 "i"와 같은 변수의 이름을 사용하는 것이 충분하고 습관적이라는 것을 알고 있는데, 예를 들어 프로그램의 다른 위치에서 다른 이름을 가진 주기 인덱스 변수를 생성해야 하는 이유는 무엇입니까?

나는 당신과 논쟁하지 않았다.

 
Renat Akhtyamov :
for ( int i= 1 ; int i< int n; int i++)                                                                  
...
그래서??? 제발.
제정신이 아닌 프로그래머가 작성할 수 없는 나쁜 예를 의도적으로 생각해 냈다는 것을 스스로 이해합니다.
 
Alexey Kozitsyn :

아니, 내 말은:

for ( int i = 0 ; i < x; i++ )
{
}
for ( int i = 0 ; i < x; i++ )
{
}
...


의미는 어떻습니까? 귀하의 경험을 공유해 주십시오. 이 경우 어떤 문제가 발생할 수 있습니까? 예를 들어 귀하의 코드가 이와 같을 경우?

int i;
for ( i = 0 ; i < x; i++ )
{
}
for ( i = 0 ; i < x; i++ )
{
}
...
 
Renat Akhtyamov :

나는 당신과 논쟁하지 않았다.

이것은 내 스레드입니다. 그리고 그들이 최적의 조언이 아닌 나쁜 조언을 하는 경우, 나는 그 사람을 바로잡을 권리가 있습니다. 현재 논의 중인 상황과 관련하여 잘못된 조언을 하고 있습니다.
 
Artyom Trishkin :
이것은 내 스레드입니다. 그리고 그들이 최적의 조언이 아닌 나쁜 조언을 하는 경우, 나는 그 사람을 바로잡을 권리가 있습니다. 현재 논의 중인 상황과 관련하여 잘못된 조언을 하고 있습니다.

귀하의 지사를 주의 깊게 읽고 답장하려는 닉네임과 게시물을 연관시키십시오.

요컨대 - 잘못된 주소

 
Renat Akhtyamov :

의미는 어떻습니까? 귀하의 경험을 공유해 주십시오. 이 경우 어떤 문제가 발생할 수 있습니까? 예를 들어 귀하의 코드가 이와 같을 경우?

int i;
for ( i = 0 ; i < x; i++ )
{
}
for ( i = 0 ; i < x; i++ )
{
}
...

루프 외부에서 카운터를 초기화할 때 해당 범위는 일반적으로 필요하지 않은 해당 루프를 넘어 확장됩니다. 이것은 예를 들어 코드에서 나중에 변수 j가 있고 실수로 i라고 부르는 경우와 같이 가능한 오류에 대한 비옥한 기반을 제공합니다. 또는 배열의 인덱스 [1] 대신 [i] 등을 쓰십시오.

따라서 변수는 처음 사용된 위치에 최대한 가깝게 초기화해야 하며 너무 많은 전역 변수 를 피해야 합니다. 이렇게 하면 가능한 오류 목록이 줄어듭니다.

 
Alexey Kozitsyn :

루프 외부에서 카운터를 초기화할 때 해당 범위는 일반적으로 필요하지 않은 해당 루프를 넘어 확장됩니다. 이것은 예를 들어 코드에서 나중에 변수 j가 있고 실수로 i라고 부르는 경우와 같이 가능한 오류에 대한 비옥한 기반을 제공합니다. 또는 배열의 인덱스 [1] 대신 [i] 등을 쓰십시오.

따라서 변수는 처음 사용된 위치에 최대한 가깝게 초기화해야 하며 너무 많은 전역 변수 를 피해야 합니다. 이렇게 하면 가능한 오류 목록이 줄어듭니다.

for(....) 그렇다면 그것과 어떤 관련이 있습니까?

난 나가있어.

i=0이고 i++인 경우???

글쎄, 다른 사이클 i에서 나를 변경?

작동 안 할 것이다

 
Renat Akhtyamov :

그렇다면 그것이 무엇과 관련이 있습니까?

난 나가있어.

당신은 어디에서나 무엇이든 할 수 있습니다. 그것은 당신의 권리입니다. 설명을 부탁드렸더니 설명을 해주십니다.
 
Alexey Kozitsyn :
당신은 어디에서나 무엇이든 할 수 있습니다. 그것은 당신의 권리입니다. 당신은 설명을 요청했습니다 - 내가 설명했습니다.

여기서 고려해야 할 유일한 사항은 루프의 블록 이후에 i가 이미 x와 같다는 것입니다. 루프 i<x

for(...){} 이후의 Array[i]는 배열 범위를 벗어난 오류를 반환하고 그게 전부입니다.