社区
C++ 语言
帖子详情
请问这样的函数使用起来会不会发生内存泄露?
sean1103
2006-06-28 11:23:47
我定义了这样一个字符处理函数,最后需要通过指针返回结果:
char* MyClass::ProcessChar(char * mystring)
{
......
char* temp = new char[256];
......
return temp;
}
因为在函数中有堆申请new,给指针temp,然后又把它返回,没有delete temp。调用后会不会就会发生内存泄露呢?
...全文
226
10
打赏
收藏
请问这样的函数使用起来会不会发生内存泄露?
我定义了这样一个字符处理函数,最后需要通过指针返回结果: char* MyClass::ProcessChar(char * mystring) { ...... char* temp = new char[256]; ...... return temp; } 因为在函数中有堆申请new,给指针temp,然后又把它返回,没有delete temp。调用后会不会就会发生内存泄露呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
云梦谭
2006-06-28
打赏
举报
回复
不一定的。方法里新开辟的内存传出,调用点之后要回收就行了。
crazy_lazy_pig
2006-06-28
打赏
举报
回复
不一定会的, 应该说非常容易发生内存泄漏. 你在调用后, 记得适时的delete就行了.
sharkoasis
2006-06-28
打赏
举报
回复
会的!
oowgsoo
2006-06-28
打赏
举报
回复
内存管理的原则应该是谁申请谁释放,象你的这种实现就违反了这个基本原则,当然如果客户端也遵循你的原则每次都负责释放是不会有内存泄漏的,但是你能保证每个客户端都能这么处理吗?特别是新来的同事,这种做法就是给自己找事:)
cmoring
2006-06-28
打赏
举报
回复
看看C库里面的函数声明就知道了。
char *strcpy( char *strDestination, const char *strSource );
不推荐使用楼主的做法.
一般是用传递进来的指针保存进行操作返回。
DeadWolf
2006-06-28
打赏
举报
回复
要看用你这个函数的认知不知道要释放
这样做确实不好
bird1982
2006-06-28
打赏
举报
回复
不一定会出现问题,如果你是在一个线程里面做这些事情,做完这个线程自己死掉,那么内存自己就会OVER了,但最好推荐不要按照上面的方法去做,Windows下,这么做10有8,9得泄露
meicaikourou
2006-06-28
打赏
举报
回复
这不是一种方法,应该传递进来指针保存返回值。
跨级释放往往导致错误
0黄瓜0
2006-06-28
打赏
举报
回复
通常不应该把new和delete放在不同的域中。使用你设计的函数的人不知道你在函数中申请了内存,自然不会释放返回的堆内存而导致内存泄露
pottichu
2006-06-28
打赏
举报
回复
你调用该函数以后,记得释放内存就不会泄露了。
只能说这是个不好的设计。
改善程序设计技术的50个有效做法(CC++)(free)
4. **内存管理**:理解指针的
使用
,正确释放内存,避免内存泄漏。了解智能指针如`std::unique_ptr`和`std::shared_ptr`的作用。 5. **数据结构与算法**:根据问题选择合适的数据结构(如数组、链表、树、图等)和...
如何避免在React中的回调
函数
中
使用
箭头
函数
可能引起的内存泄漏?
总的来说,避免在React中的回调
函数
中
使用
箭头
函数
可能引起的内存泄漏,主要是通过减少新
函数
的创建、优化渲染以及做好清理工作来实现的。的正确指向,但在新版本的React以及
使用
了Babel的情况下,上述写法是可行的...
Go
函数
中为什么
会
发⽣
内存泄露
在Go语言中,
函数
内
发生
内存泄露
的原因可能涉及多个方面。
匿名内部类/Lambda Java和Kotlin谁
会
导致内存泄漏?
何为内存泄漏?Android 常见内存泄漏场景Java匿名内部类
会
导致泄漏吗?Java的Lambda是否
会
泄漏?Kotlin匿名内部类
会
导致泄漏吗?Kotlin的Lambda是否
会
泄漏?Kotlin高阶
函数
的
会
泄漏吗?内存泄漏总结将
函数
类型当做...
C/C++什么是
内存泄露
,
内存泄露
如何避免?
C/C++什么是
内存泄露
,
内存泄露
如何避免?1. 内存溢出2. 内存泄漏3. 造成
内存泄露
常见的三种情况3.1 指针重新赋值3.2 错误的内存释放3.3 返回值的不正确处理4. 如何避免
内存泄露
?5.
内存泄露
检测工具valgrind 1. ...
C++ 语言
65,184
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章