社区
C++ Builder
帖子详情
请教函数返回值问题:
fromv
2002-10-17 02:20:44
如何在一个函数里返回char *数据;
即:
char * Funtion(...)
{
char *str = new char[16];
.....
return ; // 在这里返回str的值
}
...全文
42
9
打赏
收藏
请教函数返回值问题:
如何在一个函数里返回char *数据; 即: char * Funtion(...) { char *str = new char[16]; ..... return ; // 在这里返回str的值 }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hello_wyq
2002-10-18
打赏
举报
回复
to wgh166(wgh) ( )
我觉得你的做法就变成了,多线程不安全了。
是不是可以考虑使用如下方法?
typedef enum
{
OK = 0,
NOENOUGHMOMERY = 1,
...//其他的各种情况
} STATUS;
STATUS Create(char**ppChar, .../*其他的参数*/)
{
STATUS s = OK;
*ppChar = new char[16];
if (!(*ppChar))
s = NOENOUGHMOMERY;
// initialize
...
return s;
}
STATUS Destroy(char* pChar, .../*其他的参数*/)
{
STATUS s = OK;
// do something
...
delete[] pChar;
return s;
}
这样配对的话,是不是要好一些呢?
invalid
2002-10-17
打赏
举报
回复
我觉得还是作为参数,传入指针比较好。
牧牛人软件
2002-10-17
打赏
举报
回复
根据我在unix上C经验,这样可能返回不保险。应加static
char * Funtion(...)
{
static char *str = new char[16];
.....
return str;
}
bluebird97073
2002-10-17
打赏
举报
回复
char *c = Funtion(...);//调用函数Function,并将返回的指针赋给指针变量c
...//使用c
delete[] c;释放c指向的内存,即函数Funtion中创建的内存
注意你创建的是数组~所以要用 delete[]
Libran
2002-10-17
打赏
举报
回复
返回的指针总会用到的,用完了释放该指针就行了
比如:
char *c = Funtion(...);//调用函数Function,并将返回的指针赋给指针变量c
...//使用c
delete c;释放c指向的内存,即函数Funtion中创建的内存
huzhangyou
2002-10-17
打赏
举报
回复
同意
呵呵
kingfish
2002-10-17
打赏
举报
回复
可以在外面释放
delete []p;
fromv
2002-10-17
打赏
举报
回复
str动态分配了内存,没有释放,会不会产生内存泄漏?
bluebird97073
2002-10-17
打赏
举报
回复
char * Funtion(...)
{
char *str = new char[16];
.....
return str; // 在这里返回str的值
}
改写Err.Raise,使之不弹出对话框只是中止程序.txt
如何改写Err.Raise,使之不弹出对话框只是中止程序 有个中止程序的
问题
困扰了我一个礼拜,始终没有相处解决方案,特来
请教
各位高手 背景: 1.目前我们公司的一套程序由于历史遗留
问题
,没有采用正规的
函数
返回值
的方法来弹出报错对话框,而是使用了大量的Err.Raise 方法来弹出错误信息,用户点确定后,程序即中止,不在往下执行 2.目前我们需要在现在的代码上增加自动执行程序的功能,所以当程序遇到报错后,就弹出了这个对话框,需要人工去干预,不会自动中止
非C程序员C++入门自学
C++入门,非常基础的,最开始学来用的。一步一步教你如何编程。~~~~~~~~~~~~~~~~~~~
matlab学习指导1
如果你学习MATLAB仅是为了了解一下,我建议你阅读我翻译的《MATLAB编程》一书(网上搜索“S.J.Chapman《MATLAB编程》中文版修正版”就是了)
数据结构课程设计范文(多项式的加 减 乘 除法 )
数据结构课程设计范文(多项式的加 减 乘 除法 )
数据结构与算法分析实验报告.doc
《数据结构与算法分析》实验报告 姓名 学号_ _____ __年 __月__ __日 上机题目:以静态链表为存储结构,编写给定权值{7,19,2,6,32,3}构造哈夫曼树的 算法。 (输出以存储结构表示或以树型显示(90度旋转)) 需求分析 1. 输入数据必须为int的整形数据,其数值范围为:-~47 2. 输出的数据格式为:%d 3. 测试数据的数据为:{7,19,2,6,32,3} 详细设计 1. 该程序采用顺序表的存储结构,其数据结构定义如下: #define n 6 #define m 2*n-1 #define max 100typedef struct {int data; int lchild,rchild,prnt; }hufmtree; 所用数据类型中每个操作的伪码算法如下: 创建哈夫曼树 Program hufm(hufmtree t[m]) FOR i=0;i
问题?是如何解决的? 开始的时候main
函数
的数据结构类型定义的与主
函数
不同,而且缺少
返回值
,导致最 后的结果陷入死循环,通过看书,向同学询问,得以解决。 2. 经验和体会 哈夫曼树又称最优二叉树,此次实验创建哈夫曼树算法,虽然依旧犯了不少错误,但 仍解决了。在其中学习了很多,对树有了更深的了解。 测试结果 附件 见 058詹奇.Cpp ----------------------- 数据结构与算法分析实验报告全文共3页,当前为第1页。 数据结构与算法分析实验报告全文共3页,当前为第2页。 数据结构与算法分析实验报告全文共3页,当前为第3页。
C++ Builder
13,873
社区成员
102,696
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章