기고글 토론 "MQL5 프로그래밍 기본: 목록" - 페이지 8

 
C-4:

남는 게 없나요? 예, 클래스는 100% 중복됩니다. 모든 cl1 메서드와 데이터는 cl2 클래스에 의해 거의 완전히 중복되는 반면 베이스는 비어 있습니다.

cl1과 cl2는 중복되지 않고 다른 클래스이며 다른 메서드를 가지고 있습니다. 베이스는 서로 다른 클래스인 cl1과 cl2를 하나의 배열에 넣는 데만 필요하기 때문에 비어 있습니다.

불필요합니다. 각 클래스에 하나의 메서드를 만들 수 없다면 말입니다.

 
Integer:
그랬죠. 잘됐네요. 하지만 알고 보니 그 이상의 것이 있었습니다.

그렇다면 무엇을 보여줄까요? 톱 스타터의 이야기를 들어보세요:

파파클래스:

실질적인 토론이 가능합니다! 이런 의견 교환을 읽으니 정말 반갑습니다.

ThteXpert에게.

어렵지 않다면 논문을 드러 낼 수있는 코드의 예 (자신의 연습을 사용할 수 있음)를 몇 가지 제공하십시오. 대부분의 "인형"이 여기에 있다는 것을 잊지 마십시오 (우선, 나는 나 자신에 대해 이야기하고 있습니다).

나는 그에게 다른 노드와 함께 작동하는 단일 컬렉션이 필요하지 않고 다른 컬렉션과 함께 작동하는 하나의 노드가 필요하다는 구체적인 예를 들었습니다. 이 모든 것이 CObject에서 어떻게 작동하는지 보여드렸습니다.
 
C-4:

그렇다면 무엇을 보여줄 수 있을까요? 탑픽스타터가 쓴 글입니다:

저는 그에게 다른 노드와 함께 작동하는 하나의 컬렉션이 아니라 다른 컬렉션과 함께 작동하는 하나의 노드, 그리고 다른 클래스와 함께 작동하는 하나의 컬렉션이 필요하다는 구체적인 예를 들었습니다. 이 모든 것이 CObject에서 어떻게 작동하는지 보여드렸습니다.
네, 그렇긴 하지만 그렇다고 해서 만족스럽지는 않습니다:)
 
papaklass:

... 몇 가지 코드 예제(직접 연습해 볼 수 있음)를 제시해 주면 논지를 드러낼 수 있을 것입니다.

그러고 싶지만 지금은 MT5를 사용할 시간이 없습니다. 그리고 하루나 이틀 정도는 정상적인 구현에 투자해야 할 것입니다.
 
TheXpert:
젠장, 그러고 싶지만 지금은 MT5를 사용할 시간이 없습니다. 그리고 정상적인 구현에는 아마도 하루나 이틀이 걸릴 것입니다.
여기에 쓰여진 모든 것이 완전히 헛소리라는 미묘한 힌트와 마찬가지로, 당신 만이 당신의 은신처에 마법의 방법을 가지고 있지만 극복 할 수없는 상황으로 인해 누구에게도 알려지지 않은 채로 남아있을 것입니다. 당연한 일입니다.
 
Integer:
여기에 쓰여진 모든 것이 쓰레기 덩어리라는 미묘한 힌트와 마찬가지로, 당신 만이 당신의 은신처에 마법의 방법을 가지고 있지만 극복 할 수없는 상황으로 인해 누구에게도 알려지지 않은 채로 남아있을 것입니다. 놀라운 일이 아닙니다.
아마도 "정상적인 구현"이라는 단어는 템플릿에 대한 구현을 의미 할 것입니다.
 
Integer:

사실 저는 코드를 누르지 않습니다. 그리고 저는 많은 것을 게시합니다.

정수:
여기에 쓰여진 모든 글이 헛소리라는 미묘한 힌트 같은 거죠.

그런 힌트와는 거리가 멀죠. 이곳의 많은 글은 정말 훌륭합니다. 코드도 마찬가지입니다.

템플릿은 정상이죠.

, 맞아요:
관심도 없는데 왜 여기저기 기웃거려요? )
 

관리자와 운영진 여러분, 이 이중 잣대는 무엇인가요?

누군가는 거위의 물처럼 담즙과 진흙을 내뿜는데... 일반 사용자는 아무 이유 없이 차단됩니다.....

 

클래스의 생성 메서드에서 클래스 멤버가 변경되는 것은 MT5 오류 아닌가요????

CiSingleList.mqh - 오류 없이 컴파일됩니다.

//+------------------------------------------------------------------+
//|| 목록의 크기 계산|
//+------------------------------------------------------------------+
void CiSingleList::CalcSize(void) const
  {
   TRACE_CALL(_t_flag)
   uint count=0;
   if(!this.IsEmpty()) // 목록이 비어 있지 않은 경우
     {
      // 하나의 노드로 목록 처리하기
      if(this.m_head==this.m_tail && this.m_head.GetVal()!=NULL)
         count=1;
      // 그렇지 않으면 전체 목록으로 이동합니다. 
      else
        {
         CiSingleNode *offNode=this.m_tail.GetNextNode();
         for(CiSingleNode *sn=this.m_head; sn!=offNode; sn=sn.GetNextNode())
            ++count;  // 카운터 증가
        }
     }
   this.m_size=count;
  }
Документация по MQL5: Основы языка / Типы данных / Структуры и классы
Документация по MQL5: Основы языка / Типы данных / Структуры и классы
  • www.mql5.com
Основы языка / Типы данных / Структуры и классы - Документация по MQL5
 
ALXIMIKS:

클래스의 생성 메서드에서 클래스 멤버가 변경되는 것은 MT5 오류가 아닌가요?????

오류, 아마도 아직 수정되지 않았을 것입니다. 최근에 어딘가에 썼던 것 같습니다.