为了账号安全,请及时绑定邮箱和手机立即绑定

已采纳回答 / Vaquish
第一个是在getMax(*arr,count)的作用域下进行输出,所以调用getMax(*arr,count);第二个是在getMax(numArr[0],numArr[2])的作用域下输出,调用的是getMax(int a,int b);所以,两个不一样

已采纳回答 / onemoo
你要理解变量类型的重要性。p的类型是指向const int的指针,如果你解引用这个指针的话,得到的会是const int类型。p的类型决定了这样的性质,这性质与p到底指向谁是无关的。所以即使p指向的是个非const的int对象,但如果你通过p来访问所指的内容的话,这内容还是会被当作const的。就是说你无法通过*p来修改它,所谓的“*p的值无法修改”就是这个意思。当然 i 本身是普通的int,自然可以通过 i 来任意修改了。故const int指针可以指向const int对象,也可以指向普通的int对象...

已采纳回答 / onemoo
参数列表中的 *arr 是可以写成 int arr[] 的。在函数声明的参数列表中声明的数组参数,是会被视作指针的。抱歉,请忽略上一条回答,我没有注意到这个是C++问题!刚才的回复中可加入的限定符是C语言的特性,在C++中没有这个特性。在C++14中,也仅能在[]中加入constexpr这一个限定符。

最新回答 / micro丶
引用更安全,除非在避无可避的情况下,否则标准C++都推荐使用引用!

已采纳回答 / 康振宁
你是说*这个吗?这个就相当与你用int类型的变量一样,如果你定义一个int num = 4;那么你后面用这个变量的时候还会加上int吗?

已采纳回答 / onemoo
准确地表达应该是:p是一个指向const int型变量的指针,所以p无法修改其指向的int对象。但p本身不是const的,所以能被改变(也就是可以指向别的int)。*p是解引用p以得到p指向的对象。代码中第一个*p得到x,但只是用来读取x的值,并没有修改x的内容。然后代码将y的地址赋予了p,再次*p时就得到了y,同样代码中也没有更改y的内容,所以说没有改变*p的值。  那个讲解只说“*p”容易会引起理解上的歧义。还应该注意到一点:p是一个指向const int的指针,说明p可以指向const int对象,...

已采纳回答 / onemoo
或的关系。但注意这里有坑:函数在传参时,参数是可以进行自动转换的。假如调用函数时传的参数类型没有完全匹配任何一个可重载函数,而且都可以进行类型转换的话,编译器会报歧义错误的。

已采纳回答 / JACK630
上面一组:const int x = 3 表示x为一个常量,其值为3,且x的值是不能改变的;int *y = &x 定义了一个指针变量y,y指向x,y存放的是x的地址,改变y的的值也就相当于改变了x的值,这与常量x不能被改变相冲突,所以说有危险;下面一组:可以正常使用;

已采纳回答 / onemoo
定义本身就是声明。 换言之,具体分配了存储空间(生成了代码)的声明就是定义。你在main之前定义了那个函数,同时也就声明了它。
课程须知
本课程是C++初级课程 熟练掌握C语言开发语言基础语法
老师告诉你能学到什么?
1、C++语言引用的魅力 2、C++语言const的用法 3、C++语言函数默认值及函数重载 4、C++语言内存管理

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消