CheckPointer
CheckPointer
函数返回 指针对象类型
ENUM_POINTER_TYPE CheckPointer(
object* anyobject // 对象指针
);参量
- anyobject
[in] 对象指针。
返回值
从 ENUM_POINTER_TYPE 枚举中返回值。
注释
想要调用不正确的指针到危险终止结果程序中,在使用指针之前,调用CheckPointer函数是有必要的,如下条件下,指针是不正确的:
该函数可以用来正确检测指针,非零值警告指针在访问时使用。
要快速验证指针,您还可以使用操作符"!" (示例)通过隐式调用CheckPointer函数来检查。
示例:
//+------------------------------------------------------------------+
//| 通过删除元素来删除列表 |
//+------------------------------------------------------------------+
void CMyList::Destroy()
{
//--- 循环工作服务指针
CItem* item;
//--- 循环检测并删除动态指针
while(CheckPointer(m_items)!=POINTER_INVALID)
{
item=m_items;
m_items=m_items.Next();
if(CheckPointer(item)==POINTER_DYNAMIC)
{
Print("Dynamic object ",item.Identifier()," to be deleted");
delete (item);
}
else Print("Non-dynamic object ",item.Identifier()," cannot be deleted");
}
//---
}另见
对象指针 ,检测对象指针 , 对象删除操作符的删除