s*******e 发帖数: 664 | 1 ☆─────────────────────────────────────☆
GodBlessMe (GodBlessMe) 于 (Sat Nov 7 17:30:51 2009, 美东) 提到:
void f1(char*& p)
{
p="a";
}
void f2(char *& p)
{
*p='a';
}
int main()
{
char s[]="1234";
char *p=s;
f2(p);
cout<
f1(p);
cout<
cout<
return 0;
}
a234
a234
a
我没有闹明白为什么为什么char*&调用的时候
能对字符修改,却不能赋予新的字符串呢?
我发现f1赋值后;p的reference地址就变了呢
我翻了基本书,也没找到答案。哪位帮解释解释
☆─────────────────────────────────────☆
GodBlessMe (GodBlessMe) 于 (Sat Nov 7 17:34:23 2009, 美东) 提到:
还有f1(s)也是编译 |
|