静态成员函数的局部变量的内存泄露问题,求指教
有一个类,有一个静态成员函数:
- C/C++ code
class Test{static void func(Data *p);};这个静态成员函数中对局部变量进行了new,但没有delete,如:
- C/C++ code
voidTest::func (Data *p ){ p = new Data();}这样会造成内存泄露吗?十分迷惑,求指教
[解决办法]
有new没delete当然会造成内存泄露
[解决办法]
如果不反复调用func应该就没事
否则的话,最好释放下
[解决办法]
必须是泄露了啊
[解决办法]
每调用一次就会漏出一点
[解决办法]
和普通成员函数里面一样,内存泄露
静态成员函数中的静态意为不和类的实例相关联,里面的变量除非是调用其他静态变量,否则照样是临时变量
[解决办法]
泄露了,即使调用 一次,程序退出时也不会自动调用 delete
这种情况还是在静态函数外部调用 new
[解决办法]
静态函数只是不能改变非静态成员的值,除此之外和普通成员函数的行为一样的。