avatar
内存管理的问题# Programming - 葵花宝典
q*s
1
在一个函数中,比如char* getName(),用new创建一个字符串,比如char[],然后函数
返回所创建的字符串,给第三个函数,比如void printString(char*),使用。问题我
如何删除所创建的这个字符串。string class 不支持的。
谢谢!
avatar
k*f
2

What do you mean by "string class 不支持的"? Are you you cannot use the std:
requirement?

【在 q***s 的大作中提到】
: 在一个函数中,比如char* getName(),用new创建一个字符串,比如char[],然后函数
: 返回所创建的字符串,给第三个函数,比如void printString(char*),使用。问题我
: 如何删除所创建的这个字符串。string class 不支持的。
: 谢谢!

avatar
q*s
3
我所使用的环境中不支持string类。
这种情况下是不是就的自己建立一个类似的class?
谢谢两位的回复。
avatar
n*e
4
...
你用new创建的数组指针,为啥不用delete []删除?

【在 q***s 的大作中提到】
: 在一个函数中,比如char* getName(),用new创建一个字符串,比如char[],然后函数
: 返回所创建的字符串,给第三个函数,比如void printString(char*),使用。问题我
: 如何删除所创建的这个字符串。string class 不支持的。
: 谢谢!

avatar
r*y
5
use shared pointer

【在 q***s 的大作中提到】
: 在一个函数中,比如char* getName(),用new创建一个字符串,比如char[],然后函数
: 返回所创建的字符串,给第三个函数,比如void printString(char*),使用。问题我
: 如何删除所创建的这个字符串。string class 不支持的。
: 谢谢!

avatar
r*n
6
可以用双指针
char*s;
int getName(**s);
....
int deleteString(*s);

【在 q***s 的大作中提到】
: 在一个函数中,比如char* getName(),用new创建一个字符串,比如char[],然后函数
: 返回所创建的字符串,给第三个函数,比如void printString(char*),使用。问题我
: 如何删除所创建的这个字符串。string class 不支持的。
: 谢谢!

avatar
k*f
7

If you know for sure the maximum length of the string, you may want to use a
static char[] inside getName(). This way, you don't have to worry about
allocating and release the memory.

【在 q***s 的大作中提到】
: 我所使用的环境中不支持string类。
: 这种情况下是不是就的自己建立一个类似的class?
: 谢谢两位的回复。

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。