如何判断一对象指针是否合法?60分相送!!!!!!!!!!!!!!!!!!!!!!!!!!

解决方案 »

  1.   

    normally, the best you can do isif (p != NULL)
    {
     //合法
    }or if (p)
    {
    //合法
    }or if you know it points to some object, try to call its method
    ....
    try
    {
     p->SomeMethod();
     //合法
    }
    catch (...)
    {
    // not 合法
    }
      

  2.   

    这个函数可以
    AfxIsMemoryBlock(void *,size_t)
    不过并不太准
      

  3.   

    to: once168(once168)
        但是我并不知道这块内存有多大!!
      

  4.   

    also tryBOOL AfxIsValidAddress( const void* lp, UINT nBytes, BOOL bReadWrite = TRUE );