Пример:
class A{
int x;
};
class B{};
class C : public A, public B {};
C c;
A* a = &c;
B* b = &c;
когда я проверяю значение & c и b, они различны, поскольку b находится после a в памяти, но все же, когда я оцениваю & c == b, они одинаковы, почему это так?