內存池中分配的內存會被內存池自動釋放,如果我有如下情況,請問會不會產生crash或者memory leak等問題?
我有struct A,是用內存池分配的內存, A.t2也用內存池分配內存。struct B是用malloc分配的內存,最後手動free掉。現在的問題是我把A.t2賦值給B.t3.這樣當我free struct B的時候,會手動free掉其中的變量GG對應的內存,然後再手動FREE掉struct B, 可是如果free完struct B之後,t3會不會就變成野指針了,對應的內存塊就不會被釋放,產生內存洩漏?還是說內存池會自動處理t3對應的內存?
struct A {
double val;
struct B* t1;
struct C* t2;
}
struct B {
int cc;
struct C* t3;
double* GG;
}
析構struct B之後,t3 = NULL,對應struct A內存A.t2,需要內存池回收