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

在C#语言中,
class Person;
...
Person component;
if(component != null)
...;
可以用该方法判断对象是否为空;
但是在C++语言中是不可以的,那如果想判断一个对象为空该如何操作?

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

C++里使用指针判断:

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

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网