MQL5 데이터베이스에 전문가가 적은 이유는 무엇입니까? - 페이지 9

 
simpleton :

'MyStruct' - 정방향 선언이 지원되지 않습니다.

투표. 아키텍처에서 순환 종속성을 제거하는 방법은 무엇입니까?

정상적인 아키텍처에서는 불가능하다고 말하지 마십시오. 유일한 (목발) 방법은 불필요한 기본 클래스를 추가하여 재설계하는 것입니다. 다중 상속이 없기 때문에 치질로 변합니다. 다이아몬드 모양의 종속성.

그러나 선언을 구현할 수 있습니다 ...

예델킨 :

글쎄, "편향되지 않은 초보자 사용자"가 "전문 시스템 프로그래머"에도 불구하고 MQL5에서 "정말 기본적인 것"을 작성할 수 있는지 봅시다.

그리고 그들이 할 수 없다고 어디에 썼습니까? 그들은 할 수 있지만 그것은 서투른 무거운 일이 될 것입니다.

 
TheXpert :

투표. 아키텍처에서 순환 종속성을 제거하는 방법은 무엇입니까?

복잡한 사용 사례의 보안 때문에 앞으로의 설명은 아직 허용되지 않습니다.

우리는 어셈블리와 실행 단계 모두에서 매우 엄격하게 제어할 수 있는 언어를 가지고 있습니다. 느슨한 제어로 인해 잠재적으로 새는 코드를 감당할 수 없습니다. 사실 이러한 설명은 완전히 다른 라이브러리에 있을 수 있으며 아직 이러한 경우의 사용을 엄격하게 제어할 수 있는 방법은 없습니다. 대략적으로 말하자면, 왼쪽 클래스를 다른 방법으로 슬립시키는 공격을 수행하는 것이 가능하다(지금은 불가능하다).

외부 및 순환 종속성의 전방 선언 문제에 대한 솔루션은 이미 있지만 64비트 터미널(컴파일러, 터미널, 편집기 및 테스터)을 실행한 후 구현합니다. 오늘 우리는 이미 공개 32/64비트 빌드를 준비했습니다. 이번 주에 릴리스할 예정입니다.


터미널/실행 환경(C#/Java는 환경에 안전하지 않기 때문에 이와 관련이 없음)에 대한 보안에 직접적인 초점을 두고 관리 코드 컴파일러를 작성하기 시작할 때까지 특정 이유를 이해하기 어렵습니다. 개발자의 행동.

 

예델킨 :

글쎄, "편향되지 않은 초보자 사용자"가 "전문 시스템 프로그래머"에도 불구하고 MQL5에서 "정말 기본적인 것"을 작성할 수 있는지 봅시다.

더엑스퍼트 :

그리고 그들이 할 수 없다고 어디에 썼습니까? 그들은 할 수 있지만 그것은 서투른 무거운 일이 될 것입니다.

나는 당신을 이해했다. '서투른 무거운 것'의 개념은 가치판단의 영역이기 때문에 이 문제에 대한 객관성은 잊어버릴 수 있다. 주제가 닫혔습니다.
 
TheXpert :

투표. 아키텍처에서 순환 종속성을 제거하는 방법은 무엇입니까?

정상적인 아키텍처에서는 불가능하다고 말하지 마십시오. 유일한 (목발) 방법은 불필요한 기본 클래스를 추가하여 재설계하는 것입니다. 다중 상속이 없기 때문에 치질로 변합니다. 다이아몬드 모양의 종속성.

그러나 선언을 구현할 수 있습니다 ...

그리고 그들이 할 수 없다고 어디에 썼습니까? 그들은 할 수 있지만 그것은 서투른 무거운 일이 될 것입니다.

당신에 대한 모든 존경심과 함께 나는 나 자신을 언급 할 것입니다. 무엇보다도 5 번째 포럼으로 판단하면 투덜거리고 투덜거리는 전문가입니다. 그리고 평범한 아마추어들은 싸우고 창조한다... 당신은 전문가, 당신의 수준에 해당합니다, 아는 사람은 기회를 찾고, 모르는 사람은 이유를 찾고 있습니다... 소리, 뭐니뭐니해도.
 
joo :
당신에 대한 모든 존경심과 함께 나는 나 자신을 언급 할 것입니다. 무엇보다도 5 번째 포럼으로 판단하면 투덜거리고 투덜거리는 전문가입니다. 그리고 평범한 아마추어들은 싸우고 창조합니다... 당신은 전문가입니다, 당신의 레벨에 맞춥니다. 소리, 만약 있다면.

그리고 그것은 모든 것이 상대적이기 때문입니다.

오른손으로 운전하는 일본인의 운전석에 앉지 않은 사람은 왼손으로 상자를 바꾸는 것이 어떻게 가능한지 이해할 수 없습니다.

그리고 초보자에게는 중요하지 않습니다. 그는 여전히 오른쪽 또는 왼쪽으로 전환하는 방법을 모릅니다.

 
Urain :

그리고 그것은 모든 것이 상대적이기 때문입니다.

오른손으로 운전하는 일본인의 운전석에 앉지 않은 사람은 왼손으로 상자를 바꾸는 것이 어떻게 가능한지 이해할 수 없습니다.

그리고 초보자에게는 중요하지 않습니다. 그는 여전히 오른쪽 또는 왼쪽으로 전환하는 방법을 모릅니다.

글쎄, 나는 그것을 받아 모든 것을 저속했다. :)

총으로 외국 차를 운전하는 데 익숙한 사람들은 고장난 상자로 수표를 꿈꿀 것입니다. 그러나 "클래식"을 탄 사람은 "일본인"에 앉는다면 "일본인"에 대한 모든 프로에게 확률을 줄 것입니다. 글쎄, 그게 나야, 나는 약간의 철학을 가지고 있습니다. 분위기는 맞습니다 ... 참고로 저는 "초보자"가 아니라 "아마추어"라고 말했습니다.

 
joo :

글쎄, 나는 그것을 받아 모든 것을 저속했다. :)

총으로 외국 차를 운전하는 데 익숙한 사람들은 고장난 상자로 수표를 꿈꿀 것입니다. 그러나 "클래식"을 탄 사람은 "일본인"에 앉는다면 "일본인"에 대한 모든 프로에게 확률을 줄 것입니다. 글쎄, 그게 나야, 나는 약간의 철학을 가지고 있습니다. 분위기는 맞습니다 ... 참고로 저는 "초보자"가 아니라 "아마추어"라고 말했습니다.

나는 당신의 말을 조금 지지할 것입니다. 나는 트럭 운전사입니다. 나는 10년 동안 더 많은 짐을 몰고 왔습니다. 그리고 나에게는 스티어링 휠과 기어 레버가 어느 쪽에 있는지가 중요하지 않습니다. 나는 많은 차를 탔습니다 , 그리고 모든 사람은 개인 소지품이 있으므로 새 차에 익숙해지기 위해 나는 그것이 전부입니다. 몇 킬로미터를 운전하는 것으로 충분합니다. 마치 끊임없이 운전하는 것처럼 말입니다.
 
Renat :

외부 및 순환 종속성의 전방 선언 문제에 대한 솔루션은 이미 있지만 64비트 터미널(컴파일러, 터미널, 편집기 및 테스터)을 실행한 후 구현합니다. 오늘 우리는 이미 공개 32/64비트 빌드를 준비했습니다. 이번 주에 릴리스할 예정입니다.

그리고 그렇게 선언된 지 한 달이 훨씬 넘은 릴리스에는 그런 중요한 결정이 포함되지 않았습니다...
레나트 :

터미널/실행 환경에 대한 보안에 직접적인 초점을 두고 관리 코드 컴파일러를 작성하기 시작할 때까지(C#/Java는 환경에 안전하지 않기 때문에 이와 관련이 없음) 특정 이유를 이해하기 어렵습니다. 개발자의 행동.

여기에서 그리고 객체 생성자에 관한 결정과 함께 - 너무. 그들이 쓸모 없게 된 이유는 불분명합니다.

매개변수는 허용되지 않습니다. 이제 전역 변수를 사용하여 매개변수를 에뮬레이트하시겠습니까?

하위 개체 중 하나를 생성(초기화)하는 동안 치명적인 오류가 발생하여 개체가 생성되지 않았음을 나타내는 메커니즘이 없습니다. 하위 객체에서 사용되는 모든 클래스에 초기화 함수를 추가할 수 있으며, 객체 자체의 클래스에 해당하는 함수에서 하위 객체의 초기화 함수를 호출하면 오류 코드를 반환할 기회가 제공됩니다. 그러나 먼저 이러한 함수는 객체를 생성하고 "under" 생성자를 처리한 직후에 명시적으로 호출되어야 하며(객체가 소멸자에 의해 파괴되기 전의 초기화 해제 함수도 포함), 두 번째로 메인 클래스를 수정할 때 예를 들어, 하위 객체를 추가할 때 올바른 순서를 보장하기 위해 올바른 위치에 포함하는 것을 잊기 쉽습니다. 기본 클래스의 초기화 함수에서 추가된 하위 객체의 초기화 함수 호출 (비초기화 기능에도 동일하게 적용됨). 결국, 거의 아무도 즉시 글을 쓰지 않습니다. 결과는 반 수동 및 안전하지 않은 코드입니다.

 
simpleton :
그리고 그렇게 선언된 지 한 달이 훨씬 넘은 릴리스에는 그런 중요한 결정이 포함되지 않았습니다...
언어에 대한 책임은 우리이며 이 기능 또는 저 기능을 "출시할지 여부"를 최종 결정하는 사람은 바로 우리입니다. 그러므로 우리는 마감일을 책망할 필요가 없습니다.

하위 개체 중 하나를 생성(초기화)하는 동안 치명적인 오류가 발생하여 개체가 생성되지 않았음을 나타내는 메커니즘이 없습니다. 하위 객체에서 사용되는 모든 클래스에 초기화 함수를 추가할 수 있으며, 객체 자체의 클래스에 해당하는 함수에서 하위 객체의 초기화 함수를 호출하면 오류 코드를 반환할 기회가 제공됩니다. 그러나 먼저 이러한 함수는 객체를 생성하고 "under" 생성자를 처리한 직후에 명시적으로 호출되어야 하며(객체가 소멸자에 의해 파괴되기 전의 초기화 해제 함수도 포함), 두 번째로 메인 클래스를 수정할 때 예를 들어, 하위 객체를 추가할 때 올바른 순서를 보장하기 위해 올바른 위치에 포함하는 것을 잊기 쉽습니다. 기본 클래스의 초기화 함수에서 추가된 하위 객체의 초기화 함수 호출 (비초기화 기능에도 동일하게 적용됨). 결국, 거의 아무도 즉시 글을 쓰지 않습니다. 결과는 반 수동 및 안전하지 않은 코드입니다.

당신은 공포를 부추기고 자신을 위한 것이 아닌 문제를 혼합하고 발명합니다. 글쓰기가 너무 두렵다면 이 사업을 그만두십시오.

당신은 나쁜 댄서를 방해하는 것이 무엇인지 압니다.

 
joo :

당신에 대한 모든 존경심과 함께 나는 나 자신을 언급 할 것입니다. 무엇보다도 5 번째 포럼으로 판단하면 투덜거리고 투덜거리는 전문가입니다.

그래서 이것은 뭔가입니다. 첫 번째 공개 베타가 출시된 후 얼마 지나지 않아 저는 거래 시스템을 작성하기 시작했습니다. 거의 즉시 나는 일반 생성자를 놓쳤고 , new operator 를 사용하여 명시적으로 포인터를 생성하지 않고는 포인터를 얻는 것이 불가능했기 때문에 완전히 놓쳤습니다. 당시 그는 프로그램 및 구조(헤더 및 라이브러리 또는 개체 파일 - 일부에서는 필요한 선언만, 다른 일부에서는 구현)의 복잡성에 비추어 논리적 추가로서 클래스를 가져올 가능성을 제안했습니다.

클래스 가져오기 및 전달 선언은 코드 배치 문제를 완전히 해결합니다.

복사 생성자는 생성자의 문제를 단순화합니다.

나를 멈추게 한 문제가 해결되었습니다. 이제 GetPointer(this) 구조가 있습니다. 다른 모든 것(지금까지)은 언어의 틀 내에서 해결할 수 있지만 삶은 여전히 망치고 있습니다.

당신은 전문가이고 당신의 수준에 해당하고 아는 사람은 기회를 찾고 모르는 사람은 이유를 찾고 있습니다 ... 죄송합니다.

그래서 계속 쓰고 있습니다. 여기서 통신은 코드 작성을 방해하지 않습니다. 사과할 것이 없습니다. 너무 갔습니다.

Документация по MQL5: Основы языка / Операторы / Оператор создания объекта new
Документация по MQL5: Основы языка / Операторы / Оператор создания объекта new
  • www.mql5.com
Основы языка / Операторы / Оператор создания объекта new - Документация по MQL5