기고글 토론 "MQL5의 객체 생성 및 파괴 순서" - 페이지 2 123 새 코멘트 apirakkamjan 2019.02.11 05:14 #11 m_array[]는 GetPointer(arrray[i]) 함수에서 복사되었으므로 POINTER_AUTOMATIC 유형이 됩니다. 54번째 줄은 필요 없습니다: if(CheckPointer(m_array[i])==POINTER_DYNAMIC) delete(m_array[i]);왜냐하면 MQL5가 POINTER_AUTOMATIC을 삭제하기 때문입니다. kashi_ann 2020.02.13 08:45 #12 안녕하세요, 이 섹션을 이해할 수 없습니다: //--- 이 블록은 실행==false이면 실행되지 않습니다. if(execute) { CObjectB objB; } //--- 이 블록은 실행==false이면 실행됩니다. if(!execute) { CObjectC objC; } 코드의 시작 부분에 실행 = 거짓으로 설정되어 있습니다. 실행은 거짓과 같습니다. 첫 번째 IF: 실행이 참이면 블록이 실행되어야 합니다. 그러나 주석에는 true이면 실행하지 않고 다음 블록으로 넘어간다고 명시되어 있습니다. 두 번째 IF: 실행이 FALSE이면 블록이 실행됩니다. 그러나 다시 주석에 따르면 블록이 true이면 실행됩니다. 저는 ! - 는 부정 기호라고 가정했습니다. 제 추론의 오류는 어디에 있을까요? Vladimir Karputov 2020.02.13 09:15 #13 kashi_ann:안녕하세요, 이 줄거리를 이해할 수 없어요: 코드의 시작 부분에 실행 = 거짓으로 설정되어 있습니다. 실행은 거짓과 같습니다. 첫 번째 IF: 실행이 참이면 블록이 실행되어야 합니다. 그러나 이 주석은 참이면 실행되지 않고 다음 블록으로 넘어간다고 말합니다. 두 번째 IF: 실행이 거짓이면 블록이 실행됩니다. 그러나 이 경우에도 주석은 True이면 블록이 실행될 것이라고 말합니다. 저는 ! - 는 부정 기호라고 생각했습니다. 제 추론의 오류는 어디에 있나요? 잘못된 판단을 강조 표시해 두었습니다. 참고로 '거짓'은 False, '참'은 True입니다. 그리고 더 명확하게 하기 위해 주석을 추가했습니다: //--- 이 블록은 실행==false이면 실행되지 않습니다. //--- 이 블록은 실행==true이면 실행됩니다. if(execute) { CObjectB objB; } //--- 이 블록은 실행==false이면 실행됩니다. //--- 이 블록은 실행==true이면 실행되지 않습니다. if(!execute) { CObjectC objC; } kashi_ann 2020.02.13 12:01 #14 Vladimir Karputov:잘못된 판단은 색상으로 강조 표시됩니다. 참고: '거짓'은 거짓, '참'은 참입니다. 그리고 더 명확하게 하기 위해 주석을 추가했습니다: 그래서... 다음 항목은... if(execute = true) и if(execute) - тожественны? if(execute = false) и if(!execute) - тоже? 맞죠? Artyom Trishkin 2020.02.13 12:03 #15 kashi_ann:Okay. 다음과 같은 메모가 표시됩니다. 맞죠? 기본 사항입니다. kashi_ann 2020.02.13 12:04 #16 Artyom Trishkin:기본입니다. 감사합니다) 기본이 가장 중요합니다) 그리고 게으르지 않게 답변해 주셔서 감사합니다) Andrey Khatimlianskii 2020.02.13 12:07 #17 kashi_ann:Okay. 다음과 같은 메모가 표시됩니다. 맞죠? 예, 하지만 =가 아니라 ==를 사용하고 싶었던 것이 분명합니다. kashi_ann 2020.02.13 12:09 #18 Andrey Khatimlianskii:공교롭게도 그렇지만 =가 아닌 ==를 사용하고 싶었던 것이 분명합니다. 아니요))))) =와 ==의 의미와 차이점을 아직 파악하지 못했습니다) 저는 여정의 시작 단계에 있습니다.) Artyom Trishkin 2020.02.13 18:51 #19 kashi_ann:아니요)))) =와 ==의 의미와 차이점을 아직 파악하지 못했습니다) 저는 이제 막 시작 단계에 있습니다))."="는 할당 연산자이고 "=="는 비교 연산자입니다. Arturo Hugo Ninamango 2022.08.15 02:43 #20 localvar_testscript_4.mq5 파일에서 GetPointer() 호출 후 포인터 유형을 출력하면 포인터가 POINTER_DINAMIC이 아닌 POINTER_AUTOMATIC이라는 것을 알 수 있습니다. m_array[i]=GetPointer(array[i]); Print(EnumToString(CheckPointer(m_array[i]))); //POINTER_AUTOMATIC이 아닌 POINTER_DINAMIC 따라서 이 줄은 실행되지 않습니다. if(CheckPointer(m_array[i])==POINTER_DYNAMIC) delete(m_array[i]); 123 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
m_array[]는 GetPointer(arrray[i]) 함수에서 복사되었으므로 POINTER_AUTOMATIC 유형이 됩니다.
54번째 줄은 필요 없습니다:
왜냐하면 MQL5가 POINTER_AUTOMATIC을 삭제하기 때문입니다.
안녕하세요,
이 섹션을 이해할 수 없습니다:
코드의 시작 부분에 실행 = 거짓으로 설정되어 있습니다. 실행은 거짓과 같습니다.
첫 번째 IF: 실행이 참이면 블록이 실행되어야 합니다. 그러나 주석에는 true이면 실행하지 않고 다음 블록으로 넘어간다고 명시되어 있습니다.
두 번째 IF: 실행이 FALSE이면 블록이 실행됩니다. 그러나 다시 주석에 따르면 블록이 true이면 실행됩니다.
저는 ! - 는 부정 기호라고 가정했습니다.
제 추론의 오류는 어디에 있을까요?
안녕하세요,
이 줄거리를 이해할 수 없어요:
코드의 시작 부분에 실행 = 거짓으로 설정되어 있습니다. 실행은 거짓과 같습니다.
첫 번째 IF: 실행이 참이면 블록이 실행되어야 합니다. 그러나 이 주석은 참이면 실행되지 않고 다음 블록으로 넘어간다고 말합니다.
두 번째 IF: 실행이 거짓이면 블록이 실행됩니다. 그러나 이 경우에도 주석은 True이면 블록이 실행될 것이라고 말합니다.
저는 ! - 는 부정 기호라고 생각했습니다.
제 추론의 오류는 어디에 있나요?
잘못된 판단을 강조 표시해 두었습니다. 참고로 '거짓'은 False, '참'은 True입니다.
그리고 더 명확하게 하기 위해 주석을 추가했습니다:
잘못된 판단은 색상으로 강조 표시됩니다. 참고: '거짓'은 거짓, '참'은 참입니다.
그리고 더 명확하게 하기 위해 주석을 추가했습니다:
그래서... 다음 항목은...
맞죠?
Okay. 다음과 같은 메모가 표시됩니다.
맞죠?
기본 사항입니다.
기본입니다.
감사합니다) 기본이 가장 중요합니다)
그리고 게으르지 않게 답변해 주셔서 감사합니다)Okay. 다음과 같은 메모가 표시됩니다.
맞죠?
예, 하지만 =가 아니라 ==를 사용하고 싶었던 것이 분명합니다.
공교롭게도 그렇지만 =가 아닌 ==를 사용하고 싶었던 것이 분명합니다.
아니요))))) =와 ==의 의미와 차이점을 아직 파악하지 못했습니다) 저는 여정의 시작 단계에 있습니다.)
아니요)))) =와 ==의 의미와 차이점을 아직 파악하지 못했습니다) 저는 이제 막 시작 단계에 있습니다)).
localvar_testscript_4.mq5 파일에서
GetPointer() 호출 후 포인터 유형을 출력하면 포인터가 POINTER_DINAMIC이 아닌 POINTER_AUTOMATIC이라는 것을 알 수 있습니다.
따라서 이 줄은 실행되지 않습니다.