在C++语言当中,如何判断一个对象为空?

2024-11-29 11:45:07
推荐回答(2个)
回答1:

  C++语言中,对象没有空和不空的概念,只有对象指针才有空和不空的概念
  判断对象指针是否为空只需要和NULL常量进行比较即可
  如果相等,则为空,否则不为空
  另外对象虽然没有空和不空的概念,但是有有效和无效的概念
  当对象的析构函数被调用之后,对象即成为一个无效对象
  一般可以用句柄法来判断
  当对象被构造的时候,在一个全局的映射表中注册该对象,获得一个唯一句柄
  判断的时候,用对象的句柄信息直接在映射表中进行查找,如果存在,则有效;如果不存在则无效
  析构对象的时候,同时从映射表中删除该对象的句柄信息

回答2:

C++里使用指针判断:

Person * p = new Person();
if( 0 == p )
    //...