关于C++指针和内存管理的问题

关于C++指针和内存管理的问题

class A
{
public:
    int a = 1;
};

class B : public A
{
public:
    int b = 2;
};

B* bi = new B;
A* ai = (A*)bi;
delete ai;

请问这样处理会不会有内存未释放的问题

不会,你在类内没有任何申请堆内存的地方, delete本质还是编译器生成的operator delete,如果你在子类里面有new 的操作,并且没有虚析构函数,才会造成内存泄露