| |
|
开发:
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++知识库]C++中的常对象与常引用 |
目录 ? 一、常对象必须进行初始化,且不能被更新 二、用const修饰的类对象1.常成员函数声明类型说明符 函数名(参数表) const; 注意const在后面 注意(1)const是函数类型的一个组成部分,因此在函数的定义部分也要带const关键字 (2)如果将一个对象说明为常对象,则通过该常对象只能调用它的常成员函数 (3)无论是否通过常对象调用常成员函数,在常成员函数调用期间,目的对象都被视为常对象,因此常成员函数不嫩更新目的对象的数据成员,也不能针对目的对象调用该类中没有用const修饰的成员函数。 (4)const关键字可以用于对重载函数的区分。 三、常引用1.声明? ? const 类型标识符 &引用名; 1.常引用所引用的对象不能被更新 2.非const引用只能绑定到普通的对象,不能绑定到常对象。常引用可以绑定到常对象。 3.通过常引用访问该对象时,只能把该对象当作常对象。 4.对于基本数据类型的引用,不能为数据赋值。对于类类型的引用,不能修改它的数据成员,也不能调用它的非const的成员函数。 2.应该在何时使用:1.在函数中无需改变其值的参数,应该使用常引用。使用普通引用方式传递会使得常对象无法被传入,采用值传递或传递常引用的方式可以避免这一问题。对于大对象来说,值传递耗时较多,因此传递引用为宜。 ? ? 例:
? ? p1和p2的值在函数dist内没有改变,顺带一提p1和p2是Point类类型 ?2.复制构造函数的参数一般也宜采用常引用传递。
3.普通引用与常引用的区别1.都可以通过原本变量修改变量值,且该变量的引用和常引用的值都会改变。 2.不能通过常引用修改变量和常引用的值。 3.可以通过修改普通引用的值改变原本变量的值。
|
|
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 20:15:05- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |