【入门基础】对C++的学习(二)

编程开发   © 文章版权由 admin 解释,禁止匿名转载

#楼主# 2023-3-12

本贴是C++学习,讲解C++基础知识,赶快进来看看吧!

麻烦路过的大哥大姐,觉得不错,点个赞,给个回复一下呗![爱心]


[玫瑰]本期内容如下:

1. 函数重载
2.函数重载的原理
3.extern“C”
4.引用
5.引用的特征

( * 点赞 * 关注 * 留言 )

——教程楼更——
建议开启只看楼主模式
◎觉得我的教程不错就快关注我吧◎


内容来自于互联网!

41楼
LV是非 2023-3-12
想要弄明白这个问题,首先要明白隐士类型提升的问题,在这里int到double存在隐士类型的提升,而在提升的过程中系统会创建一个常量区来存放a类型提升后的结果。
42楼
LV是非 2023-3-12
因此到这儿,这段代码一看就是错了,因为你隐士类型提升时a是存放在常量区中的,常量区是不可以被修改的,而你用double&ra去引用他,ra这个引用是可以被修改的。
43楼
LV是非 2023-3-12
加个const就可以解决这个问题。
44楼
LV是非 2023-3-12
#include
using namespace std;
int main()
{
int a = 10;
const double&ra = a;
}
45楼
LV是非 2023-3-12
注意:将不可修改的量用可读可写的量来引用是不可以的,但是反过来是可以的,将可读可写的量用只可读的量来引用是可以的。
46楼
LV是非 2023-3-12
引用的使用场景
47楼
LV是非 2023-3-12
1.引用做参数
48楼
LV是非 2023-3-12
还记得C语言中的交换函数,学习C语言的时候经常用交换函数来说明传值和传址的区别。
49楼
LV是非 2023-3-12
现在我们学习了引用,可以不用指针作为形参了。
50楼
LV是非 2023-3-12
因为在这里a和b是传入实参的引用,我们将a和b的值交换,就相当于将传入的两个实参交换了。

//交换函数
void Swap(int& a, int& b)
{
int tmp = a;
a = b;
b = tmp;
}

评论

登录后才可发表内容
  • 主题

    84

  • 帖子

    15458

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.1409s Mem:2120Kb