读书人

局部指针在函数调用后会把所指的空间释

发布时间: 2012-04-21 14:34:44 作者: rapoo

局部指针在函数调用后会把所指的空间释放掉?
DCOraQuery* pDBQuery = pOraDeal->get_sel_dinner();
pOraDeal->get_data_test(pDBQuery, dinner);
指针pDBQuery 在调用 pOraDeal->get_data_test函数后地址会变为0,我有跟踪这个指针在函数内的地址情况,在return之前地址都没有变,返回后就变为0,函数内没有进行过内存释放的处理。请大虾给解答一下。

[解决办法]
get_data_test()函数内部写数组之类的越界覆盖了相关指针或者破坏了栈...
[解决办法]
应该不会,返回一个临时变量,然后把它赋值给pDBQuery后才销毁临时变量的。

如果你返回的是临时对象的引用的话,不好说!
[解决办法]
关键要看你pOraDeal->get_sel_dinner()返回的指针是否new出来的

读书人网 >C++

热点推荐