问个c++的问题# JobHunting - 待字闺中g*j2012-12-19 08:121 楼void main(){const char * s = 0;f(______);cout<}问题,如何写function f,让程序输出 “hello”?signature 自己定义
d*x2012-12-19 08:122 楼引用啊【在 g***j 的大作中提到】: void main(){: const char * s = 0;: f(______);: : cout<: }: 问题,如何写function f,让程序输出 “hello”?: signature 自己定义
j*y2012-12-19 08:125 楼void f(void){cout << "hello "<exit(0);}【在 g***j 的大作中提到】: void main(){: const char * s = 0;: f(______);: : cout<: }: 问题,如何写function f,让程序输出 “hello”?: signature 自己定义
j*y2012-12-19 08:127 楼不知道这个怎么解释。比如写成这样也是可以的void f(const char * &s){s = "hello";}为什么明明是 const 类型还可以改变它的值?【在 l***i 的大作中提到】: void f(const char **ps): {: *ps = "hello";: }
l*82012-12-19 08:128 楼const char * 是说指针指向的内容不能改变, 指针本身地址可以改变char * const 才是指针本身不能改变。【在 j*****y 的大作中提到】: 不知道这个怎么解释。: 比如写成这样也是可以的: void f(const char * &s): {: s = "hello";: }: 为什么明明是 const 类型还可以改变它的值?
j*y2012-12-19 08:129 楼明白了。s = "hello"其实是修改指针本身,是一个地址。 "hello" 是一个地址。多谢。【在 l*********8 的大作中提到】: const char * 是说指针指向的内容不能改变, 指针本身地址可以改变: char * const 才是指针本身不能改变。
d*n2012-12-19 08:1210 楼this is C++【在 j*****y 的大作中提到】: 不知道这个怎么解释。: 比如写成这样也是可以的: void f(const char * &s): {: s = "hello";: }: 为什么明明是 const 类型还可以改变它的值?