我是靠谱客的博主 魔幻玫瑰,最近开发中收集的这篇文章主要介绍C++判断两个指针指向的对象是否相同,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

class BaseA
{
public:
    int a;
};
 
class BaseB
{
public:
    double b;
};
 
class Derived : public BaseA, public BaseB
{
};
 
int main(int argc, char const *argv[])
{
    Derived derivd;
    Derived* pd = &derivd;
    BaseB* pb = &derivd;
    printf("pb = %pn", pb);
    printf("pd = %pn", pd);
    if (pb == pd)
    {
        printf("pb == pdn");
    }
    else
    {
        printf("pb != pdn");
    }
}

打印:

pb = 0028FEE0

pd = 0028FED8
pb == pd

2、结论
虽然两个指针的值不同,但是编译器认为它们还是相等的,因为它们指向同一个对象。
所以直接用if(p1 == p2)判断即可

最后

以上就是魔幻玫瑰为你收集整理的C++判断两个指针指向的对象是否相同的全部内容,希望文章能够帮你解决C++判断两个指针指向的对象是否相同所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部