相关疑难解决方法(0)

我何时可以将指针与c ++中的同一对象进行比较?

例如,我有一些类层次结构(可能具有各种继承 - 公共,私有,公共虚拟,多继承等):

class A {
  int a;
public:
  virtual ~A() {}
};

class B: public A { int b; };
class C: public virtual B { int c; };
class E: public virtual B { int e; };
class F: public C, public E { int f; };
Run Code Online (Sandbox Code Playgroud)

使用强制转换我得到指向主"大"对象的每个子对象的指针:

F * f = new F;
E * e = f;
C * c = f;
B * b = f;
A * a = f;
Run Code Online (Sandbox Code Playgroud)

我可以比较这些指针的哪些对等(运算符==)和为什么?比较是否会使用delta逻辑或其他技术?

当我无法比较指向同一复杂对象的指针时,有哪些可能的情况?它可以是什么样的物体?

我希望,所有指向同一对象的指针总是相等的.

c++

5
推荐指数
1
解决办法
722
查看次数

标签 统计

c++ ×1