루프 뒤 또는 루프 내부에서 변수를 선언하시겠습니까? - 페이지 8

 
Alexey Viktorov :
불가능하지만 확실히 틀렸습니다. 한 가지 예: 열려 있는 위치를 순환합니다. 직위 티켓을 받고 다른 직위 속성을 얻는 데 사용하십시오. 위치 속성을 가져오기 위해 각 함수에 PositionGetTicket(i)을 삽입하거나 변수에 한 번 쓰고 사용하는 두 가지 옵션이 있습니다. 그러나 결국 루프를 종료하면 이 티켓은 더 이상 누구에게도 필요하지 않습니다. 이 변수를 OnTick() 함수의 본문에 선언하거나 전역 수준에서 더 흥미로운 이유는 무엇입니까?

제가 표현을 제대로 못한건지...

물론 OnTick()에서는 필요하지 않습니다. 잘 모르겠습니다. 함수에서 주기(및 거기에 필요한 변수)를 올바르게 제거할 수 있습니까?

추신 그리고 일반적으로 모든 프로거 자신은 자신이 필요한 변수를 알고 가시성의 범위를 독립적으로 결정해야 합니다 ......
 

일반적으로 포지티브 스트링과 마이크로리터는 다릅니다. 마이크로리터에서 이것은 기본 유형이며 최적화의 기회가 분명히 더 있습니다. 따라서 이러한 서투른 비교는 사실이 아닐 수 있습니다. 나는 플러스의 단조로움을 지지하지만 그만한 가치가 없습니다. 즉, 마이크로리터에 들어선 안 됩니다.

 
Vict :

일반적으로 포지티브 스트링과 마이크로리터는 다릅니다. 마이크로리터에서 이것은 기본 유형이며 최적화의 기회가 분명히 더 있습니다. 따라서 이러한 서투른 비교는 사실이 아닐 수 있습니다. 나는 플러스의 단조로움을 지지하지만 그만한 가치가 없습니다. 즉, 마이크로리터에 들어선 안 됩니다.

Qi razmaulietse 당신은 벨로루시 언어입니까? 아니다? 차무는? 벨로루시 언어는 고대 슬라브어에 가깝습니다. Budzem은 러시아어와 고대 슬라브어를보고? Vidavochna, 무엇보다도, 나는 벨로루시 인을보고 사랑합니다 ...

잠깐, 그들은 다시 나에게 진흙을 쏟아 부을 것입니다. 그러나 다시 한 번 SI와 MQL은 다른 언어입니다! 하나는 다른 하나를 기반으로했지만 ....

 
Сергей Таболин :

제가 표현을 제대로 못한건지...

물론 OnTick()에서는 필요하지 않습니다. 잘 모르겠습니다. 함수에서 주기(및 거기에 필요한 변수)를 올바르게 제거할 수 있습니까?

추신 그리고 일반적으로 모든 프로거 자신은 자신이 필요한 변수를 알고 가시성의 범위를 독립적으로 결정해야 합니다 ......

다음은 황금 단어입니다.

그리고 외부 함수 로 순환을 꺼내기 위해 코드에서 한 번만 사용된다면 종교가 누구에게나 허용하는 방식입니다. 이제 많은 사람들이 OOP에 도달하고 모든 작은 것이 클래스나 매크로에 찔려 있습니다. 패션은 이렇게 갔다.

 
Alexey Viktorov :

그리고 외부 함수 로 순환을 꺼내기 위해 코드에서 한 번만 사용된다면 종교가 누구에게나 허용하는 방식입니다.

나는 당신의 어휘에 단어를 추가할 것입니다 - 이 종교는 SOLID라고 불립니다

 

스마트 컴파일러를 믿는 사람들을 위해. 아래는 스크립트 코드의 일부입니다.

출처는 첨부파일.

 string predictor_names[]={ "Time_RSI_ZZ_00" , "rPeresek_Down" , "Time_ZZ_02" , "Speed_1_ZZ_Proc_04" ...}

struct sRule
  {
   int                predictor_id;
   bool               more_eq; 
   double              value ; 
  };
//Лист дерева(набор правил)
struct sLeaf_r
  {
   int                rules_count;               //Сколько правил
   sRule             rules[ 32 ];   //Все правила листа
   double             result_leaf; //Результат листа
  };
//Количество всех листьев 164912
sLeaf_r           leaf_rs[]=
  {
     { 3 ,{{ 0 , 0 , 21.5 },{ 1 , 1 , 0.5 },{ 2 , 0 , 15.5 }}, 0.0 },
     { 5 ,{{ 0 , 0 , 21.5 },{ 1 , 1 , 0.5 },{ 2 , 1 , 15.5 },{ 3 , 1 , 6.5 },{ 4 , 0 ,- 4.5 }},- 1.0 },
......
......
//Очень много данных
  }

void OnStart()
  {

  }

구조는 완전히 정적이며 , leaf_rs 배열은 완전히 폐기될 수 있습니다. OnStart()가 비어 있습니다. 결과적으로 컴파일된 파일의 크기는 거의 2MB입니다.

파일:
test_3.zip  418 kb
 
Igor Makanu :

나는 당신의 어휘에 단어를 추가할 것입니다 - 이 종교는 SOLID라고 불립니다

이고르, 당신의 아버지는 나보다 나이가 많지 않습니까? 5년은 채 안 된 것 같은데 아직도 어휘력이 늘지 않는가? 아니면 너무 젊습니까? 내 말에 숨겨진 의미를 찾지 마십시오.
 
Alexey Viktorov :

........

그리고 외부 함수 로 순환을 꺼내기 위해 코드에서 한 번만 사용된다면 종교가 누구에게나 허용하는 방식입니다. 이제 많은 사람들이 OOP에 도달하고 모든 작은 것이 클래스나 매크로에 찔려 있습니다. 패션은 이렇게 갔다.

전에도 물어봤는데 답이 없네요. 그러한 경우에 "그들의" 종교를 사용하지 않기 위해 변수를 파괴할 수 있는 정기적인 기회가 있습니까?

그래도 개인적으로 루프에서 변수를 선언하는 것을 좋아하지 않습니다. 저는 그 전에 선언하는 것을 선호하지만 후에 어떻게 파괴합니까? ...... 그래서 함수입니다. 그것을 떠난 후에는 내부 변수가 파괴됩니다. (???)

나는 OOP에 대해 충분히 말할 수 없습니다. 왜 이것이 필요한지 이해할 수 없습니다))))))) 구식, 아마도))))))))))

 
Сергей Таболин :

전에도 물어봤는데 답이 없네요. 그러한 경우에 "그들의" 종교를 사용하지 않기 위해 변수를 파괴할 수 있는 정기적인 기회가 있습니까?

그래도 개인적으로 루프에서 변수를 선언하는 것을 좋아하지 않습니다. 저는 그 전에 선언하는 것을 선호하지만 후에 어떻게 파괴합니까? ...... 그래서 함수입니다. 그것을 떠난 후에는 내부 변수가 파괴됩니다. (???)

나는 OOP에 대해 충분히 말할 수 없습니다. 왜 이것이 필요한지 이해할 수 없습니다))))))) 구식, 아마도))))))))))

들어가지 않았습니까?

 if ( true ) {
        Type var ;
         for (...) {
                 var .use();
        }
}

나는 그들이 몰랐을 것입니다.

 
Alexey Viktorov :
이고르, 당신의 아버지는 나보다 나이가 많지 않습니까?

1953-2008 아버지

1953-2019 시아버지