此代码是否导致定义的行为?
class A {
int x;
};
class B {
short y;
};
class C {
double z;
};
class D : public A, public B, public C {
float bouncy;
};
void deleteB(B *b) {
delete b;
}
void is_it_defined() {
D *d = new D;
deleteB(d);
B *b = new D; // Is this any different?
delete b;
}
Run Code Online (Sandbox Code Playgroud)
如果没有定义,为什么不呢?如果是,它定义的是什么以及为什么?最后,如果定义了实现,您能举例说明一个常见的实现可能会定义行为吗?
| 归档时间: |
|
| 查看次数: |
200 次 |
| 最近记录: |