我想知道,下面的代碼是否會導致不確定的行爲:是否上溯造型一個空指針導致未定義行爲
#include <cstddef>
#include <cstdio>
struct IA {
virtual ~IA() {}
int a = 0;
};
struct IB {
virtual ~IB() {}
int b = 0;
};
struct C: IA, IB {};
int main() {
C* pc = nullptr;
IB* pib = pc;
std::printf("%p %p", (void*)pc, (void*)pib);
}
這使用C++ 14:https:// ideone生成'0 0'。com/iefRnb – EdChum
多重繼承(以及指針調整)的例子會更有趣。 – Quentin
@Quentin同意。要更新這個問題。 – Lingxi