- FreeMode
- FreeMode
- Reserve
- Resize
- Clear
- Shutdown
- CreateElement
- Add
- AddArray
- Insert
- InsertArray
- AssignArray
- Update
- Shift
- Detach
- Delete
- DeleteRange
- At
- CompareArray
- InsertSort
- Search
- SearchGreat
- SearchLess
- SearchGreatOrEqual
- SearchLessOrEqual
- SearchFirst
- SearchLast
- Save
- Load
- Type
CArrayObj
CArrayObj 클래스는 CObject 및 파생 클래스의 인스턴스에 대한 포인터의 동적 배열 클래스입니다.
Description
클래스 CArrayObj는 CObject 및 그 파생 클래스의 인스턴스에 대한 포인터의 동적 배열로 작업할 수 있는 기능을 제공합니다. 이를 통해 원시 데이터 유형의 다차원 동적 배열과 데이터 구성이 더 복잡한 데이터 구조를 모두 사용할 수 있습니다.
클래스를 사용하면 배열 요소를 추가/삽입/삭제하고, 배열 정렬을 수행하고, 정렬된 배열에서 검색할 수 있습니다. 또한 파일로 작업하는 방법도 구현되었습니다.
CArrayObj 클래스에는 특정한 세부 요소이 있습니다.한
Declaration
class CArrayObj : public CArray |
Title
#include <Arrays\ArrayObj.mqh> |
상속 계층CArrayObj 직계 종속 |
그룹별 클래스 메서드
Attributes |
|
---|---|
메모리 관리 플래그를 가져옵니다 |
|
메모리 관리 플래그를 설정합니다 |
|
메모리 컨트롤 |
|
메모리를 할당하여 배열 크기를 늘립니다 |
|
배열의 새(작은) 크기를 설정합니다 |
|
메모리(요소 제외)의 전체 할당 해제로 배열을 지웁니다. |
|
새 요소 생성 |
|
virtual CreateElement |
지정된 위치에 새 배열 요소를 작성합니다 |
메서드 추가 |
|
배열 끝에 요소를 추가합니다 |
|
배열 끝에 요소를 추가합니다 |
|
요소를 배열의 지정된 위치에 삽입합니다 |
|
지정된 위치에서 다른 배열의 배열 요소에 삽입합니다 |
|
한 배열의 요소를 다른 배열로 복사합니다 |
|
메서드 업데이트 |
|
지정된 위치 배열에서 요소를 변경합니다 |
|
배열의 지정된 위치에서 지정된 오프셋으로 항목을 이동합니다 |
|
메서드 삭제 |
|
지정된 위치에서 요소를 가져와 배열에서 제거합니다 |
|
지정된 배열 위치에서 요소를 제거합니다 |
|
지정된 배열 위치에서 요소 그룹을 삭제합니다 |
|
배열 메모리를 해제하지 않고 배열의 모든 요소를 제거합니다 |
|
메서드 액세스 |
|
지정된 배열 위치에서 요소를 가져옵니다 |
|
메서드 비교 |
|
배열을 다른 배열과 비교합니다 |
|
정렬된 배열 작업 |
|
정렬된 배열에 요소를 삽입합니다 |
|
정렬된 배열에서 샘플과 동일한 요소를 검색합니다 |
|
정렬된 배열에서 샘플 값을 초과하는 값을 가진 요소를 검색합니다 |
|
정렬된 배열에서 샘플 값보다 작은 값을 가진 요소를 검색합니다 |
|
정렬된 배열에서 샘플 값보다 크거나 같은 값을 가진 요소를 검색합니다 |
|
정렬된 배열에서 샘플 값보다 작거나 같은 값을 가진 요소를 검색합니다 |
|
정렬된 배열에서 샘플과 동일한 첫 번째 요소를 검색합니다 |
|
정렬된 배열에서 샘플과 동일한 마지막 요소를 검색합니다 |
|
Input/output |
|
데이터 배열을 파일에 저장합니다 |
|
파일에서 데이터 배열을 로드합니다 |
|
배열의 유형 식별자를 가져옵니다 |
클래스 CObject에서 상속된 메서드 Prev, Prev, Next, Next, Compare |
---|
클래스 CArray에서 상속된 메서드 Step, Step, Total, Available, Max, IsSorted, SortMode, Clear, Sort |
CObject 클래스의 배열은 실용적인 응용 프로그램(표준 라이브러리의 모든 클래스 포함)을 가지고 있습니다.
예를 들어, 2차원 배열에 대한 옵션을 생각해 보십시오:
#include <Arrays\ArrayDouble.mqh>
|
Subtleties #
클래스에는 동적 메모리를 제어하는 메커니즘이 있으므로 배열 요소를 사용할 때 주의해야 합니다.
메모리 관리 메커니즘은 FreeMode (bool) 방법을 사용하여 켜거나 끌 수 있습니다. 기본적으로 메커니즘은 실행됩니다.
따라서 CArrayObj 클래스를 처리하는 두 가지 옵션이 있습니다:
1. 메모리 관리 메커니즘이 사용되도록 설정되었습니다. (default)
이 경우 CArrayObj는 배열에서 소자를 제거한 후 소자에 사용된 메모리를 해제해야 합니다. 사용자 지정 프로그램은 배열 요소를 해제하지 않아야 합니다.
예제:
int i;
|
2. 메모리 관리 메커니즘이 비활성화됩니다.
이 경우, CArrayObj는 배열에서 요소 메모리를 제거한 후 할당 해제를 담당하지 않습니다. 또한 사용자 프로그램은 배열 요소의 할당을 취소해야 합니다.
예제:
int i;
|