为了账号安全,请及时绑定邮箱和手机立即绑定
int* const p;int const* p;
一种限制指针指向,一种限制指向的值
cout << getmax(numArr, 3) << endl;

//自动调用返回数组中最大值的函数返回数组中的最大值
cout << getmax(numArr[1], numArr[2]) << endl;
return 0;
请问这有什么问题?
int main(void)
{
int numarr[3] = {3, 8, 6};
cout<<getmax(numarr,3) <<endl;
cout<<getmax(numarr[1],numarr[2])<<endl; //应该把0换成1才是对的
system("pause");
return 0;
}
提交不了,自己vs上测的是对的
以前学过C语言,但是没学过C++,所以一直觉得C++很难,现在接触了之后,感觉其实还好。
不能将一个限制多权限小的数据(常量)定义出一个限制比它少权限比它大的使用方式(变量的指针或引用)。这样就可能会使新定义的使用方式做超越原本数据限制的行为(赋值)。计算机就会报错。
//自动调用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语言的函数重载一样, 函数名一致, 但是函数签名中的 返回值类型和参数是不一样的.
赋值参数要在函数签名的括号中, 要放在后面.
课程须知
本课程是C++初级课程 熟练掌握C语言开发语言基础语法
老师告诉你能学到什么?
1、C++语言引用的魅力 2、C++语言const的用法 3、C++语言函数默认值及函数重载 4、C++语言内存管理

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消