美文网首页
typid的理解

typid的理解

作者: VAYY | 来源:发表于2017-03-16 13:33 被阅读0次

使用type_info类中重载的= =与!=比较两个对象的类型是否相等。使用该方法需要调用类type_info中重载的= =和!=操作符,其使用方法为typid(object1)= =typid(object2);如果两个对象的类型相等则反回1,如果不相等则为0。这种使用方法通常用于比较两个带有虚函数的类的对象是否相等,比如有类A,其中定义有虚函数,而类B,类C,类D,都是从类A派生而来的且重定义了该虚函数,这时有个类A的指针p和p1,按照虚函数的原理,基类的指针可以指向任何派生类的对象,在这时就有可能需要比较两个指针是否指向同一个对象,这时就可以这样使用typeid了,typeid(*p)= =typeid(*p1);这里要注意的是typeid(*p)与typeid(p)是指的不同的对象类型,typeid(p)表示的是p的类型,在这里p是一个指针,这个指针指向的是类A的对象,所以p的类型是A*,而typeid(*p)则不一样,*p表示的是指针p实际所指的对象的类型,比如这里的指针p指向派生类B,则typeid(*p)的类型为B。所以在测试两个指针的类型是否是相等时应使用*p,即typeid(*p)= =typeid(*p1)。如果是typeid(p)= =typeid(p1)的话,则无论指针p和p1指向的什么派生类对象,他们都是相等的,因为都是A *的类型。

相关文章

  • typid的理解

    使用type_info类中重载的= =与!=比较两个对象的类型是否相等。使用该方法需要调用类type_info中重...

  • 理解不曾理解的

    上学时从来没把容貌当成大事儿,只是希望脸上的痘痘能少点,至于什么皮肤白、毛孔粗大、黑眼圈、肤色暗淡、脸型、眉形、眼...

  • 难被理解的理解

    我们都渴望被看见,渴望被理解。这个人性既驱使着我们,也限制着我们。 这是一个强者生存或者说适者生存的社会。这个社会...

  • 对理解的理解

    坚强的人不好做,再大的苦楚也不能说。 儿女情长为何愁,没有事业哪来的人生风流!任凭一路坎坷,也要一路高歌。...

  • 理解!理解!!理解!!!

    1、如何理解MVC设计模式 MVC是一种架构模式,M表示MOdel,V表示视图View,C表示控制器Control...

  • 理解你的理解理顺理解

    理解你的理解理顺你的理解 生活中因为缺乏准确具体到位的沟通和具体的实施方向和可落地的方式,因为信息传达...

  • 理解的与未理解的

    本周继续读的书为《一课经济学》,著者:【美】亨利 黑兹利特 译者:蒲定东 出版:中信出版社 每日5分钟阅读进程已到...

  • 理解的与被理解的

    鲁迅先生在 《而已集·小杂感》写过这样一段话:“楼下一个男人病得要死,那间隔壁的一家唱着留声机,对面是弄孩子。楼上...

  • 我对理解的理解

    时下,最值得珍惜的就是信任, 感恩别人对自己的一份信任,理解别人对自己的不理解,这就是我对理解的理解

  • 再谈对“理解”的理解

    再谈对“理解”的理解 1956年版《布卢姆目标分类学》里奖认知的维度分为:记忆、理解、分析、应用、评价和创造。 安...

网友评论

      本文标题:typid的理解

      本文链接:https://www.haomeiwen.com/subject/ynxjnttx.html