CheckPointer

Fonksiyon, nesne işaretçisinin tipine dönüş yapar.

ENUM_POINTER_TYPE  CheckPointer(
   objectanyobject      // nesne işaretçisi
   );

Parametreler

anyobject

[in]  Nesne işaretçisi.

Dönüş değeri

ENUM_POINTER_TYPE sayımının değerlerinden birine dönüş yapar.

Not

Yanlış işaretçinin çağrılması, programda kritik sonlandırmaya yol açar. Bu yüzden bir işaretçiyi kullanmadan, CheckPointer fonksiyonunun çağrılması gerekir. Bir işaretçi şu durumlarda yanlış olabilir:

  • işaretçi değeri NULL değerine eşittir;
  • nesne, delete operatörü ile silinmiştir.

Bu fonksiyon işaretçinin geçerliliğini kontrol etmek için kullanılabilir. Sıfır harici bir değer, işaretçinin erişim için kullanılabilir olduğunu garanti eder.

İşaretçiyi hızlı bir şekilde doğrulamak adına, CheckPointer fonksiyonunun örtük çağrısı aracılığıyla işaretçinin geçerliliğini kontrol eden "!" operatörünü de kullanabilirsiniz (örnek).

Örnek:

//+------------------------------------------------------------------+
//| Listeyi, elemanlarını silerek sil                                |
//+------------------------------------------------------------------+
void CMyList::Destroy()
  {
//--- döngüde çalışması için işaretçiyi servis et
   CItem* item;
//--- döngüyü incele ve dinamik işaretçileri silmeyi dene
   while(CheckPointer(m_items)!=POINTER_INVALID)
     {
      item=m_items;
      m_items=m_items.Next();
      if(CheckPointer(item)==POINTER_DYNAMIC)
        {
         Print("Dinamik nesne ",item.Identifier()," silinecek");
         delete (item);
        }
      else Print("Dinamik olmayan nesne ",item.Identifier()," silinemez");
     }
//---
  }

Ayrıca Bakınız

Nesne İşaretçileri, Nesne İşaretçisinin Kontrolü, Nesne Silme Operatörü delete