社区
C++ Builder
帖子详情
请教函数返回值问题:
fromv
2002-10-17 02:20:44
如何在一个函数里返回char *数据;
即:
char * Funtion(...)
{
char *str = new char[16];
.....
return ; // 在这里返回str的值
}
...全文
61
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的值
}
利用omf来管理联机重做日志文件
利用Oracle管理文件来自动管理和维护重做日志文件是Oracle9i开始引入的。 例如: SQL> alter system set DB_CREATE_ONLINE_LOG_DEST_1='/oradata/law/law'; System altered. SQL> alter system set DB_CREATE_ONLINE_LOG_DEST_2='/oradata/law/
15_Oracle_Admin_联机重做日志文件的配置和归档
一、配置RedoLog File上图中的配置存在以下错误:1.不对称,Group3只有一个成员,这样会导致写入错误;2.将一组中的多个成员都放在了一个磁盘上,这样不但导致频繁写入的负荷都集中在一个磁盘上,同时也没有实现磁盘的冗余,起不到备份的作用。有关联机重做日志文件的配置,有如下建议:1.配多组Redo LogFile,每组至少两个成员,不同的成员放在不同的磁盘上(即...
Oracle联机重做日志(Online Redo Log)维护操作总结
Oracle联机重做日志(Online Redo Log)维护操作总结
oracle redo日志文件管理
Oracle数据库要求至少配置两个联机重做日志组,每组建议包含两个成员以确保容错性。DBCA默认创建三个单成员日志组,最大支持16个组和3个成员/组。管理员可通过V$LOG和V$LOGFILE视图监控日志状态,执行日志切换(ALTER SYSTEM SWITCH LOGFILE)和检查点操作。日志管理操作包括:添加/删除日志组及成员(需保持每组至少一个成员)、清空日志文件(包括未归档日志)、重命名日志文件。
oracle静态监听和动态监听
Oracle数据库要求至少配置两个联机重做日志组,并建议每组包含两个成员(默认为1个),以确保日志冗余。通过DBCA创建的数据库默认包含3个日志组,每组1个成员。管理员可通过SQL命令查看日志组状态(CURRENT/INACTIVE)、切换日志组、增减日志组及成员。关键操作包括:使用ALTER SYSTEM SWITCH LOGFILE切换日志组,ALTER DATABASE ADD/DROP LOGFILE管理组结构,以及ALTER DATABASE CLEAR LOGFILE初始化日志文件。
C++ Builder
13,871
社区成员
102,696
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章