- 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
FreeMode
Bellek yönetim bayrağını ayarlar.
void FreeMode(
|
Parametreler
mode
[in] Bellek yönetim bayrağı için yeni değer.
Dönüş Değeri
Yok.
Not
Bellek yönetimi bayrağının ayarlanması CArrayObj kullanımında önemli bir noktadır. Dizi elemanları dinamik nesne işaretçileri olduğundan, diziden kaldırıldıklarında akıbetlerinin ne olacağını belirlemek oldukça önemlidir.
Bayrak ayarlanmışsa, elemanın diziden kaldırılmasının ardından 'delete' operatörü ile eleman otomatik olarak silinecektir. Bayrak ayarlanmamışsa, silinen elemanın işaretçisinin hala program içerisinde bir yerlerde olduğu varsayılır ve daha sonra programdan kaldırılacaktır.
Kullanıcının bellek yönetim bayrağını sıfırlaması durumunda, program tamamlanmadan dizinin kaldırılması gereklidir, aksi takdirde, 'new' operatörü kullanıldığında bellek boşaltılmamış elemanlarla dolacaktır.
Büyük veri miktarları terminalin eninde sonunda çökmesine hatta bozulmasına yol açacaktır. Kullanıcının bellek yönetim bayrağını sıfırlamaması durumunda ise başka bir "tehlike" doğacaktır.
İşaretçilerin kullanılması durumunda dizi elemanları yerel değişkenler içinde depolanacaktır. Bu durumda dizinin kaldırılması kritik hataya yol açacak ve programı çökertecektir. Varsayılan olarak, bellek yönetim bayrağı ayarlıdır (yönetim mekanizması açık), yani belleğin boşaltılmasından dizi sınıfı sorumludur.
Örnek:
//--- CArrayObj::FreeMode(bool) için bir örnek
|