我有一个A类和另一个继承它的类,B.我重写了一个接受A类对象作为参数的函数,所以我必须接受一个A.但是,我后来调用只有B的函数,所以我想返回false,如果传递的对象不是B类,则不继续.
找出传递给我的函数的对象的最佳方法是什么?
我可以像下面的代码一样使用smth:
int main()
{
int* foo = new int;
double* bar = reinterpret_cast<double*>(foo);
delete bar;
}
Run Code Online (Sandbox Code Playgroud)
是UB吗?
我认为我们只需要为operator new返回的指针调用operator delete,但是在这种情况下怎么样?
我认为它是UB,因为reinterpret_cast不会对结果指针提供任何保证.我对吗?
有人可以从标准中发布正确的报价吗?