배열(1차원 2차원)에서 요소를 제거하는 방법은 무엇입니까? - 페이지 4

 
Dmitry Fedoseev :

어떤 방법? 서명은 무엇입니까?

모든 방법.

 
Ilya Malev :

모든 방법.

그리고 이것은 어떻습니까?

 
Dmitry Fedoseev :

예, 우리는 1차원으로 작업합니다. 데이터 구조에 대한 설명을 귀찮게 할 필요가 없습니다. 모든 것을 한 줄에 있는 것처럼 한 줄로 읽습니다.

 
ArrayCopy() 는 포인터와 함께 작동합니다.
 
Dmitry Fedoseev :

그리고 이것은 어떻습니까?

다른 차원의 배열에 대해 동일한 방식으로 정의된 동일한 이름(예: ArrayRemove)으로 함수(예: 요소 제거)를 정의할 수 없습니다(MQL 컴파일러 개발자가 아닌 경우).

또한 여러 호출 옵션을 오버로드하여 동일한 이름으로 이러한 함수를 정의할 수 없습니다.

다음과 같이 작성해야 합니다.

ArrayRemove(var&[],int)

ArrayRemove2(var&[][],int)

ArrayRemove3(var&[][][],int)

ArrayRemove4(var&[][][][],int)

따라서 다차원 배열을 사용하는 각 클래스에서 모든 배열 함수를 다시 정의하려는 경우가 아니면 다차원 배열 을 1차원 배열로 사용하는 것은 의미가 없습니다.

 
글쎄, 알았어
 
Ilya Malev :

다른 차원의 배열에 대해 동일한 방식으로 정의된 동일한 이름(예: ArrayRemove)으로 함수(예: 요소 제거)를 정의할 수 없습니다(MQL 컴파일러 개발자가 아닌 경우).

또한 여러 호출 옵션을 오버로드하여 동일한 이름으로 이러한 함수를 정의할 수 없습니다.

다음과 같이 작성해야 합니다.

ArrayRemove(var&[],int)

ArrayRemove2(var&[][],int)

ArrayRemove3(var&[][][],int)

ArrayRemove4(var&[][][][],int)

따라서 다차원 배열을 사용하는 각 클래스에서 모든 배열 함수를 다시 정의하려는 경우가 아니면 다차원 배열 을 1차원 배열로 사용하는 것은 의미가 없습니다.

네. 그러나 그런 문제는 아닙니다.

 
Ilya Malev :

다른 차원의 배열에 대해 동일한 방식으로 정의된 동일한 이름(예: ArrayRemove)으로 함수(예: 요소 제거)를 정의할 수 없습니다(MQL 컴파일러 개발자가 아닌 경우).

또한 여러 호출 옵션을 오버로드하여 동일한 이름으로 이러한 함수를 정의할 수 없습니다.

다음과 같이 작성해야 합니다.

ArrayRemove(var&[],int)

ArrayRemove2(var&[][],int)

ArrayRemove3(var&[][][],int)

ArrayRemove4(var&[][][][],int)

따라서 다차원 배열을 사용하는 각 클래스에서 모든 배열 함수를 다시 정의하려는 경우가 아니면 다차원 배열 을 1차원 배열로 사용하는 것은 의미가 없습니다.

Ilya, 당신은 프로그래밍에서 작업 설정에 가고 있습니다.

뒤로 기어가고 반대로 하세요.

내 손녀는 이미 자고 있습니다. 그렇지 않으면 MT 메모리의 배열 요소가 연속적으로 위치한다는 사실에 주의를 기울일 것입니다.

 
Алексей Тарабанов :

MT 메모리의 배열 요소는 연속적입니다.

그리고 그것이 당면한 작업(작업 클래스 - 기능을 통해 다양한 차원의 배열과 통합된 작업)과 어떤 관련이 있다고 생각합니까?

 

예를 들어 차원에 관계없이 배열에서 요소를 제거하는 함수를 만들고 싶습니다. 또는 다른 차원의 배열과 함께 작동하는 클래스를 만들고 싶습니다. mql에서 할 수 있다고 생각하십니까?