- 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 sınıfı, CObject ve onun soyundan gelen sınıf örneklerinin işaretçileri için bir dinamik dizi sınıfıdır.
Açıklama
CArrayObj sınıfı, CObject ve onun soyundan gelen sınıfların işaretçilerinden oluşan dinamik dizilerle çalışmaya olanak sağlar. Yani, basit tiplerin çok boyutlu dinamik dizileriyle ve daha karmaşık organize veri yapılarıyla çalışma imkanı sağlar.
Sınıf içerisinde; sıralama, sıralanmış dizide arama, eleman silme/ekleme gibi işlevler yer almaktadır. Ayrıca dosya işlemleri için gereken yöntemler de sınıf içerisinde yer almaktadır.
CArrayObj sınıfı ile çalışmak bir takım incelikler içerir.
Bildirim
class CArrayObj : public CArray |
Başlık
#include <Arrays\ArrayObj.mqh> |
Kalıtım hiyerarşisiCArrayObj İlk nesil |
Class Method
Özellikler |
|
---|---|
Bellek yönetim bayrağını alır |
|
Bellek yönetim bayrağını ayarlar |
|
Bellek denetimi |
|
Dizi boyutunun artırılması için bellek tahsis eder |
|
Dizi için daha küçük bir boyut ayarlar |
|
Belleği boşaltarak diziyi siler. |
|
Ekleme yöntemleri |
|
Dizinin sonuna bir eleman ekler |
|
Dizinin sonuna bir eleman ekler |
|
Dizinin belirtilen konumuna eleman ekler |
|
Başka bir diziden alınan elemanları dizinin belirtilen konumuna ekler |
|
Dizinin elemanlarını başka bir diziden kopyalar |
|
Güncelleme yöntemleri |
|
Dizinin belirtilen konumundaki elemanı değiştirir |
|
Dizi içindeki bir elemanı belirtilen konuma kaydırır |
|
Silme yöntemleri |
|
Dizinin belirtilen konumundaki elemanı alır ve onu diziden kaldırır |
|
Dizinin belirtilen konumundaki elemanı siler |
|
Dizinin belirtilen konumundaki elemanlar grubunu siler |
|
Belleği boşaltmadan dizi elemanlarının tamamını temizler |
|
Erişim yöntemleri |
|
Dizinin belirtilen konumundaki elemanı alır |
|
Karşılaştırma yöntemleri |
|
Diziyi başka bir diziyle karşılaştırır |
|
Sıralı dizi işlemleri |
|
Sıralı diziye eleman ekler |
|
Sıralı dizi içinde, belirtilen örneğe eşit olan bir eleman arar |
|
Sıralı dizi içinde, belirtilen örnekten daha büyük olan bir eleman arar |
|
Sıralı dizi içinde, belirtilen örnekten daha küçük olan bir eleman arar |
|
Sıralı dizi içinde, belirtilen örnekten daha büyük veya eşit olan bir eleman arar |
|
Sıralı dizi içinde, belirtilen örnekten daha küçük veya eşit olan bir eleman arar |
|
Sıralı dizi içinde, belirtilen kriteri sağlayan ilk elemanı arar |
|
Sıralı dizi içinde, belirtilen kriteri sağlayan son elemanı arar |
|
Girdi/çıktı |
|
Veri dizisini dosyaya kaydeder |
|
Veri dizisini dosyadan alır |
|
Dizinin tip tanımlayıcısını alır |
Sınıftan türetilen yöntemler CObject Prev, Prev, Next, Next, Compare |
---|
Sınıftan türetilen yöntemler CArray Step, Step, Total, Available, Max, IsSorted, SortMode, Clear, Sort |
Dizilere dair pratik uygulamaların tamamı CObject sınıfının soyundan gelir (standart kütüphanenin tüm sınıfları da buna dahildir).
Örneğin, iki boyutlu diziler için seçeneklere bakalım:
#include <Arrays\ArrayDouble.mqh>
|
İnce işçilik #
Bu sınıf dinamik belleği denetlemek için mekanizmalara sahiptir, bu nedenle dizi elemanlarıyla çalışılırken dikkatli olunması gerekir.
Bellek yönetimi mekanizması FreeMode (bool) yöntemi kullanılarak açılıp kapatılabilir. Bu mekanizme varsayılan olarak etkin durumdadır.
Dolayısıyla, CArrayObj sınıfıyla çalışmak için iki seçenek mevcuttur:
1. Bellek yönetimi mekanizması devrede. (varsayılan)
Bu seçenekte CArrayObj, elemanların diziden kaldırılmasının ardından belleği boşaltma sorumluluğunu alır. Bu durumda kullanıcı dizi elemanlarını el yordamıyla boşaltmamalıdır.
Örnek:
int i;
|
2. Bellek yönetimi mekanizması devre-dışı.
Bu seçenekte CArrayObj, elemanların diziden kaldırılmasının ardından belleği boşaltma sorumluluğunu almayacaktır. Dolayısıyla, dizi elemanları kullanıcı tarafından serbest bırakılmalıdır.
Örnek:
int i;
|