为了账号安全,请及时绑定邮箱和手机立即绑定
//自动调用int getMax(int a, int b)
cout << getMax(numArr[1], numarr[2]) << endl;
//自动调用返回数组中最大值的函数返回数组中的最大值
cout << getMax(numArr, 3) << endl;
其实这里不需要什么特别的记忆技巧……就四个字——“就近原则”
其实引用是绑定一个变量或常量,且一旦绑定不可改变所以在用引用时必须对其初始化,且非常量引用不可直接绑定字面值即一个数,只能通过变量进行绑定
可以把别名理解为一种远程导弹,而变量就是近距离武器,别名的好处就是传递给函数的时候可以远程打到原来的地址的值,而变量因为发生了复制,打不到了
释放应该是delete []p; //释放块内存
申请内存需要判断是否成功, 释放内存需要把指针置NULL;
if (NULL == p) {//error!!}
内联函数, 在函数签名之前要加上inline, 这样函数代码块会替换掉调用出的那行函数名, 这样减少了函数调用栈push和pop stack的开销.
为啥不什么地方都用inline呢? 首先, inline是建议性的, 由编译器决定具体是否替换代码(递归是坚决不会进行替换的); 其次, 内联函数只适合逻辑简单, 且调用频繁(不停的call这个函数), 如果内联函数中有for, while循环的话, 往往效果不好, 不如单独给其一个函数栈来使用. 最后, 递归函数是无法使用内联方式的.
函数的重载(overload)和Java语言的函数重载一样, 函数名一致, 但是函数签名中的 返回值类型和参数是不一样的.
赋值参数要在函数签名的括号中, 要放在后面.
这题我是真的醉了
因为听不懂封装,删掉了monodevelop笔记代码全没了,为了找回热情所以来学c++
判断数组函数的形参名必须是 arr和count。才能通过

最赞回答 / JUST_4_IT
数组numArr[3]={3,8,6},数组长度其实是4,由于只是初始化了前三个,所以默认第四个为‘0’({3,8,6,0}),所以numArr[3]=0,在调用getMax的时候就是在比较0,3哪个大了,所以返回值是3.
pro
这里题目出的有问题
&符号就是取地址符号, 含义只这么一个; *符号就是创建一个指针, 或者做一次地址跳转;


int a = 10; // 给a分配一个内存逻辑地址0x100001, 这个地址存放了值10;
int *p = &a; //创建变量p, 给p分配地址0x100002, 这个地址存放的值是"0x100001"(a的逻辑地址值);
int *&q = p; //创建变量q, 给q分配地址也是0x100002, 因此这个地址存放的值还是a的逻辑地址值;
*q = 20; //访问存放在q变量地址下的值, 获得了a的地址值, 再访问一下a的地址值, 修改上面的内容为20;
课程须知
本课程是C++初级课程 熟练掌握C语言开发语言基础语法
老师告诉你能学到什么?
1、C++语言引用的魅力 2、C++语言const的用法 3、C++语言函数默认值及函数重载 4、C++语言内存管理

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消