65,209
社区成员
发帖
与我相关
我的任务
分享
char * test(char s[],int m)
{
char *p = new char[m];
for(int i = 0; i < m ; i ++)
{
p[i] = s[i];
}
return p;//该在哪里delete呢?
}

char * test(char* q, char s[],int m)
{
char *p = new char[m];
for(int i = 0; i < m ; i ++)
{
p[i] = s[i];
}
q = p;
delete[] p;
p = NULL;
return *q; //此处不是局部变量,返回值便于连等操作
}
void main()
{
char s[] = {'a','b','c','\0'};
char *t = NULL;
char *t = test(t, s,4);
return;
}
楼主看这样是不是容易理解了,(其实去看看strcpy的源码的写法就明白了)
std::vector<char> test(char s[],int m)
{
return std::vector<char>(s, s + m);
}