| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> 默认参数 引用 -> 正文阅读 |
|
[C++知识库]默认参数 引用 |
目录 不过引用实际上也不分配内存.(从某种程度上也可以说这货就没有定义) 可以对引用再次引用(一个变量会有多个别名),但是不能有引用的引用(实际上就是不能有二级引用) 指针有引用,但是没有引用的指针(引用没有空间,他也就没有地址(个人理解)) 默认参数C++可以给函数参数赋默认值 只能从最右向左赋值,中间不能跳过.
要注意函数重载和默认参数的二义性
引用int a = 10; int& b = a;??????? //b就是a的引用(其实就是别名) 他们的 值 地址 从始至终都是一样的 引用从一而终,定义之后不能改变指向.(突然想到一个问题,声明 定义 赋值 初始化,声明:其实就是告诉编译器这东西存在,并不会开辟空间.定义就是编译器为其开辟空间.赋值和初始化其实任何语言都不是特别在意这个,即使是C++.C++中的列表初始化时真的初始化(这个之后在说,推荐的书中有相关内容)
不过引用实际上也不分配内存.(从某种程度上也可以说这货就没有定义)
可以对引用再次引用(一个变量会有多个别名),但是不能有引用的引用(实际上就是不能有二级引用)
至于&是引用还是取地址,就是一个重载嘛.应该都能理解. 因为引用不会分配额外内存,在C++中尽可能的使用引用,而不是指针. 交换两个变量值传递不会改变实参,C的时候我们传递地址,在C++中我们传递引用即可.
指针有引用,但是没有引用的指针(引用没有空间,他也就没有地址(个人理解))
上面太乱看这个
实际上这些数组引用 引用数组 指针引用 引用指针啥的,没那么特别重要,实际中我们需要引用基本就是传参和返回值.其余的还是指针比较方便.(但是这种东西嘛,笔试题中可能出现) 还有引用类型需要一一对应(const 和 引用)const int a = 10; int& ra = a;??????? //error const int& ra = a; //correct const,在C++中限定了太多太多 int a = 10; double& ra = a;??????? //error const double& ra = a??????? //correct 表达式也可以 int a = 10; int& ra = a + 5;??????? //error const double& ra = a + 5;??????? //correct 其实在C中*(解引用)降级操作,&(取地址)升级操作,都是为了解决实际问题. 但是在C++中因为引用的存在,我们可以同级解决实际问题,任何与引用产生的升降级操作都是不允许的. |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 22:44:44- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |