CheckPointer
CheckPointer
此函数返回对象的类型指针.
ENUM_POINTER_TYPE CheckPointer(
object* anyobject // object pointer
);参数
- anyobject
[in] 对象指针。
返回值
返回ENUM_POINTER_TYPE枚举中的值。
注意
尝试调用错误的指针会导致程序的严重终止.因此,在使用指针之前必须调用CheckPointer函数。以下情况下指针可能不正确:
此函数可用于检查指针的有效性。非零值保证指针可用于访问。
示例:
//+------------------------------------------------------------------+
//| Deletes list by deleting its elements |
//+------------------------------------------------------------------+
void CMyList::Destroy()
{
//--- service pointer for working in the loop
CItem* item;
//--- go through loop and try to delete dynamic pointers
while(CheckPointer(m_items)!=POINTER_INVALID)
{
item=m_items;
m_items=m_items.Next();
if(CheckPointer(item)==POINTER_DYNAMIC)
{
Print("Dynamyc object ",item.Identifier()," to be deleted");
delete (item);
}
else Print("Non-dynamic object ",item.Identifier()," cannot be deleted");
}
//---
}另请参阅
最后更新于