c**********e 发帖数: 2007 | 1 1.怎么写char* func(void),考return by pointer to local variable. |
d***o 发帖数: 181 | 2 得用static variable吧,不然无法返回 |
p*****2 发帖数: 21240 | 3
new一下就可以了吧?
【在 d***o 的大作中提到】 : 得用static variable吧,不然无法返回
|
h********e 发帖数: 1972 | |
c**********e 发帖数: 2007 | 5 Do you mean the following? Thanks.
char* func(void) {
return new char;
}
【在 h********e 的大作中提到】 : new is fine
|
c**********e 发帖数: 2007 | 6 It looks f1() is OK, but f2 is not.
Is my understanding correct? Thanks.
char* f1() {
char* p=new char;
*p='x';
return p;
}
char* f2() {
char ch='a';
char* p=&ch;
return p;
}
【在 h********e 的大作中提到】 : new is fine
|
p*****e 发帖数: 53 | 7 f2() the pointer pointed to the local variable
【在 c**********e 的大作中提到】 : It looks f1() is OK, but f2 is not. : Is my understanding correct? Thanks. : char* f1() { : char* p=new char; : *p='x'; : return p; : } : char* f2() { : char ch='a'; : char* p=&ch;
|
h********e 发帖数: 1972 | 8 local variable只会放在stack里面。。函数调用结束就没了。所以不能返回。new都是
在堆里面。。 |
s**********r 发帖数: 8153 | |
A**u 发帖数: 2458 | 10 这个应该靠const char* 返回,更难一点 |