void f()
{
for ( int i = 0 ;; )
{
Print ( i );
int i = 5 ; //Warning: declaration of 'i' hides local declarationPrint ( i );
break ;
}
}
void For( int i = 0 )
{
Print ( i );
int i = 5 ; //Error: redefinition of formal parameter 'i'Print ( i );
}
그리고 근본적인 차이점은 무엇입니까? 예를 들어 C++에서 두 경우 모두 오류는 다음과 같습니다.
문제가 없습니다... 버그가 있습니다. 왜 귀로 설명을 들으려고 하는지 나도 이해가 안 된다. 일반 인쇄에는 다음 서명이 있습니다.
또한 다른 기능과 충돌하는 방법을 알고 있습니다(필요한 경우).
인쇄 서명은 MQL5 언어의 기능 이상입니다. MQL5가 인쇄 오버로드를 전혀 금지한다면 그것은 실수가 아닐 것입니다.
이 "버그"가 차량 생성을 방해하지 않고 목발을 쓸 필요가 없기를 바랍니다.
테스터의 성능을 측정했습니다. 이를 위해 각 틱에서 포지션을 열고 닫았습니다. 100틱의 실행 시간을 측정했습니다. 그래서 100,000틱을 운전했습니다. 총 1000회 측정. 이 차트를 얻었다
서로 거의 같은 거리에서 일부 감속 버스트. 최적화 모드에서 측정되었습니다. 버스트에 주의를 기울이지 않으면 테스터의 성능이 상수 값 대신 25%만큼 춤을 춥니다. 아마도 이것은 다시 Windows의 속도 측정 농담일 것입니다.
위협 MT4에서 시작된 동일한 코드
평균적으로 MT4-Tester는 MT5보다 1틱을 처리하는 데 1.5-2배 적은 시간을 소비합니다.
아마도 유전자 최적화 알고리즘 의 사용을 통해 폭발할 것입니다.
평균적으로 MT4-Tester는 MT5보다 1틱을 처리하는 시간이 1.5-2배 적습니다.
아마도 유전자 최적화 알고리즘 의 사용을 통해 폭발할 것입니다.
GA는 그렇지 않습니다. 하나의 에이전트에서 2개의 패스를 통한 최적화.
그리고 이것은 순수한 조작이며 허위 진술입니다.
소스가 제자리에 있습니다.
하나는 경고이고 다른 하나는 오류입니다.
그리고 근본적인 차이점은 무엇입니까? 예를 들어 C++에서 두 경우 모두 오류는 다음과 같습니다.
지식이 있는 사람들이 클래스 인스턴스에 대한 포인터 문제를 이해할 수 있도록 도움을 요청합니다. 그리고는 들어가지 않습니다.
다음 예제 스크립트가 있습니다.
실행되면 예상한 대로 다음이 수행됩니다.
다음과 같이 클래스의 인스턴스를 선언하면:
A *a= new A;
그런 다음 실행될 때 다음이 있습니다.
저것들. 소멸자가 시작되지도 않았고 그에 따라 메모리가 해제되지도 않습니다.
다음과 같이 클래스의 인스턴스를 선언하면:
A a= new A;
그런 다음 생성자는 두 번 실행되고 소멸자는 한 번 실행되지만 메모리가 해제되지 않고 POINTER_DYNAMIC이 예상 되었지만 객체 포인터 유형이 POINTER_AUTOMATIC 입니다.
소멸자가 항상 실행되고 올바른 삭제 실행을 보장하는 방법
Как добиться всегда выполнения деструктора и правильного выполнения delete.
C++의 스마트 포인터 주제를 참조하고 MQL에 적응하십시오( https://habr.com/post/140222/ ).
아마도 코드베이스에 뭔가가...
C++의 스마트 포인터 주제를 참조하고 MQL에 적응하십시오( https://habr.com/post/140222/ ).
아마도 코드베이스에 뭔가가...
감사합니다. 하지만 거기에서 내 질문에 대한 답변을 보지 못했습니다.
A *a= new A일 때 소멸자가 호출되지 않는 이유를 이해할 수 없습니다.
감사합니다. 하지만 거기에서 내 질문에 대한 답변을 보지 못했습니다.
A *a= new A일 때 소멸자가 호출되지 않는 이유를 이해할 수 없습니다.
결과:
1:POINTER_AUTOMATIC
1:POINTER_DYNAMIC
2:POINTER_DYNAMIC
2:POINTER_AUTOMATIC
감사합니다. 하지만 거기에서 내 질문에 대한 답변을 보지 못했습니다.
A *a= new A일 때 소멸자가 호출되지 않는 이유를 이해할 수 없습니다.
new 연산자로 생성하고 delete 연산자로 삭제