首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【C++】C++ 引用详解 ⑧ ( 普通引用常量引用 | 常量引用概念与语法 )

一、普通引用 1、概念说明 之前的 【C++】C++ 引用详解 ① ~ ⑦ 博客 , 讲解的都是 普通引用 , 也就是 将 普通变量 赋值给 引用 , 过程如下 : 先定义 普通变量 a , 然后定义...二、常量引用 ---- 1、常量引用引入 与 变量引用 相对的就是 常量引用 ; 通过 普通引用 , 可以修改 变量的值 ; 常量引用 , 是不可修改的 , 声明一个 普通变量 的 常量引用 , 之后不再使用...变量 , 转而使用 该 常量引用 , 相当于 将 变量 转为了 常量 ; 常量引用 可以令 变量的引用 转为 常量 ; 即 不能通过 常量引用 修改 变量 ; 如果修改 常量引用 的值 , 编译时会报错...常量引用 的名称 , 调用该常量引用 , 不可修改 value 变量的值 ; value 是 被引用的 变量 , 调用该变量可以修改变量的值 ; 2、代码示例 - 常量引用不可修改 在下面的函数 ,...先声明了 普通变量 a , 然后定义了 变量 a 的 常量引用 b , 常量引用 b 其 本质就是一个常量 , 通过 常量引用 b 可以获取 变量 a 的值 , 但是无法修改 变量 a 的值 ; 如果强行通过

22410
您找到你想要的搜索结果了吗?
是的
没有找到

【C++ 语言】引用 ( 引用简介 | 指针常量 | 常量指针 | 常引用 | 引用参数 | 引用 指针 对比 )

引用 ---- 常引用 : ① 常引用简介 : 引用本身是一个常量指针 , 指针本身的地址不可改变 , 常引用常量指针的基础上 , 将指向的数据也设置成常量 , 即不能通过该引用修改变量的值 ;...; 这里注意 , 不同通过引用进行修改 , 但是可以通过变量名称 a 进行修改 ; ⑤ 作用及意义 : 使用 引用数据类型 作为 函数参数 , 如果不需要在 函数 修改该引用变量的值 ( 指针指向的数据的值...语言中 , 如果要让函数的参数可以将结果返回 , 则必须使用指针作为参数 ; C++ 引用参数 : C++ 在 C 语言基础上扩展了 引用 数据类型 , 使用引用可以替代上面的指针作为参数的情况 ,...引用 与 指针 对比 ---- 引用与指针的相同点 : 都具有地址的概念 ; ① 指针 : 指针指向内存的一块空间 , 指针变量的内容是一个内存地址 ; ② 引用 : 引用是变量的别名 , 即某块内存空间的别名..., 指针指向的地址 , 以及 地址的数据 都是可变的 ; 引用的变量值内容可变 , 变量的地址不可变 ; ② 是否可以为空 : 指针可以为空 , 但是引用必须不能为空 , 因其在声明时必须进行初始化操作

1.2K10

js如何引用同级元素

具体效果 示例效果 https://coder.itclan.cn/fontend/js/17-yinyong-tongji-elem/ 具体描述 在网页,同级(兄弟)元素,指的是拥有相同的直接父级元素的元素...,并且往往指的是同类的元素,同类元素在实际开发遇到的比较多 比如:列表li,并列的按钮等,当需要做一些特殊的效果时,可以对其他同级的元素进行一些操作,满足特定的网页要求 比如:隔行填充颜色等 原生方法实现...以下是通过原生js实现,点击按钮时,获取按钮的值 // 获取同级按钮元素的value function getLevelBtnVal(btn) { var p = btn.parentNode...就是同级元素,同级元素拥有相同的父级元素都是p,那么就可以得到除自身以外的的同级元素,如果还需要排除同一类别的话,那么可以使用节点的nodeType属性来加以区别 Vue版本实现 在Vue里面,就不用类似原生js...实现是比较简单的,但是原生js的操作依旧还是要知道的

7.9K40

【C++】C++ 引用详解 ⑩ ( 常量引用案例 )

有保证了数据安全 ; 常量引用 的重要使用场景 : 函数参数传递 函数返回值 对象成员 本篇博客会给出 常量引用 的几种案例 ; 一、常量引用语法 1、语法简介 使用 " 普通变量 " 初始化 " 常量引用...const int& num) { // 在函数不能修改上述 num 值 printf("fun 函数接收到参数 num = %d\n", num); // 如果尝试修改 常量引用 num...常量引用 num 值 , 就会在编译时报错 //num = 0; } int main() { // 定义普通变量 a int a = 10; // 向函数传入 变量 a 作为常量引用参数..., 就会在编译时报错 ; // 常量引用作为函数参数 void fun(const Student& student) { // 在函数不能修改上述 num 值 printf("fun 函数接收到参数.../ 在函数不能修改上述 num 值 printf("fun 函数接收到参数 student = %d\n", student.age); // 如果尝试修改 常量引用 student 成员的值

20130

python 如何引用头文件

python 引入  导入 外部文件 项目中想使用以前的代码,或者什么样的需求致使你需要导入外部的包 如果是web 下,比如说django ,那么你新建一个app,把你需要导入的说用东东,都写到这个app,...然后在setting的app也配上基本就ok了 如果是本地代码,可以有几种方式, 1、这种最简单,也可能最不实用,将你的外部文件放到跟需要调用外部文件的文件同一个包下,同一目录          folder...          ------toinvoke.py           ------tobeinvoded.py           这样在toinvoke.py  引入          ...import toveinvoked  或 from tobeinvoked import *           即可 2、你的其他文件不是单个文件,或者不能如上所说放到同一目录下,而是在不同目录,...folderA的模块,方法同上,有什么改变,你已经知道了      folderA        ------tobeinvoded.py       ------tobeinvodedA.py

3.3K30

【C++】C++ 引用详解 ② ( 引用的意义 | 引用本质分析 | 引用常量特征 | 引用所占内存空间与指针相同 | 引用在 C++ 编译器实现 | 引用编译时会自动翻译为常量指针 )

C++ 语言中 , 用好引用 , 可以写出 高质量 , 高性能 , 高可读行 , 高可维护性 的代码 ; 二、引用本质分析 ---- 1、引用常量特征 在下面的代码 , 先定义变量 a , 然后定义...; 如果 在函数参数 中使用引用 , 可以不进行初始化 ; 上述性质 , 类似于 " 常量 " , 说明 引用 具有 " 常量 " 的特征 ; 上述 int& b = a; 代码 , 如果使用 C 语言表达...---- 1、C++ 引用常量指针 综合上述引用的特征 : 引用具有常量的特征 , 是一个常量 ; 引用和变量都是相同的内存空间的别名 , 其地址都指向内存空间 ; 引用本身也占用内存空间 , 占用大小与指针相同...; 综合上面的三种特点 , C++ 语言编译器 , 引用的本质是 : 类型* const 指针名称; 指针 ; 引用在 C++ 语言内部是 常量指针 , 下面 C++ 语言的 " 引用 " 引用类型...& 引用名称 等同于 下面的 C 语言的 " 常量指针 " 指针类型* const 指针名称 C++ 语言中的 引用 , 其在 编译器的实现 就是 " 常量指针 " , 因此 引用 占用的内存空间与

26820

c++从入门到进阶--引用常量

一·常量表达式和constexpr与const 常量表达式概念:值不会改变并且在编译过程中就能计算出结果的表达式。...a=10;//const引用仅对自己可参与的操作进行了限定对所指向的对象本身是不是常量未作限定。因为指向的对象也可能不是const,所以允许通过其他途径改变它的值。...返回非引用类型的函数 连同算术、关系、位运算、后缀自增自减运算符、字面值常量、要求转换的表达式。...是左值 调用标准库定义的函数std::move() move()函数返回给定对象的右值引用, 可以显式的将一个左值转换为对应的右值引用类型。...因此,被调用函数对形参指针所指向的地址内容的任何改变都会影响到实参。 ③引用传递 引用传递是以引用为参数,则既可以使得对形参的任何操作都能改变相应数据,又使函数调用方便。

74220

指针、引用常量的一些“故事”

C++也算是学了有些年头,可惜还是不甚了解,这不,今天对于指针、引用常量这三个在C++处处可见的东西又有些懵里懵懂了,也罢,今天就稍稍学究一下,再尽力整理一番其中的一些“故事”吧,一则帮助自己记忆...引用本身即带有常量语义(类似int& const 的代码表述会引起编译错误),即你无法改变一个已经赋值的引用本身,类似的赋值操作所改变的仅是引用引用(指向)的数据,并不改变引用本身,所以引用非常类似指针常量...,两者之间只有些微区别(譬如引用不能赋空,但指针常量可以)   示例:   int value = 13;   int& valueRef = value;   valueRef = 17;// 这里你改变的只是...value,valueRef仍然保持对value的引用   5. ...常量引用常量“的”引用,指引用引用(指向)的内容为常量   示例:const Object& object   6.

57310

【C++】C++ 引用详解 ⑨ ( 常量引用初始化 | C C++ 常量分配内存的四种情况 )

++ 语言中常量原理 - 符号表存储常量 ) , 详细的分析了常量的本质 , 如果 定义 " 普通常量 " , 那么该 常量 是 定义在了 符号表 ; // 定义普通常量 , 将 m 定义在了...符号表 const int m = 20; 如果定义一个 " 普通引用 " , 引用一个字面量 , 字面量 是 数值 , 在代码段 , 没有放在内存 , 没有内存地址 , " 引用 " 的...常量分配内存的四种情况 C 语言中 const 常量 是 只读变量 , 有独立的存储空间 ; C++ 语言中的 const 常量 存储在 符号表 , 默认情况下 const 常量不会分配内存空间 ,...但是在下面的三种情况下会分配内存空间 ; 如果 const 常量是 全局常量 , 在其它文件调用 , 会分配内存空间 ; 如果对 const 常量 进行 取地址操作 & , 会分配内存空间 ; 如果使用...使用 常量 / 字面量 初始化 常量引用 // 定义普通常量 , 将 m 定义在了 符号表 const int m = 20; // 普通引用 引用字面量 , 直接报错 // 报错信息

23830

go常量的无类型常量

Go语言的常量有个不同寻常之处。虽然一个常量可以有任意一个确定的基础类型,例如int或float64,或者是类似time.Duration这样命名的基础类型,但是许多常量并没有一个明确的基础类型。...,当赋值给特定类型时精度会有影响 只有常量可以是无类型的。...当一个无类型的常量被赋值给一个变量的时候,或者出现在有明确类型的变量声明的右边,无类型的常量将会被隐式转换为对应的类型 对于常量面值,不同的写法可能会对应不同的类型。...例如0、0.0、0i和\u0000虽然有着相同的常量值,但是它们分别对应无类型的整数、无类型的浮点数、无类型的复数和无类型的字符等不同的常量类型。...同样,true和false也是无类型的布尔类型,字符串面值常量是无类型的字符串类型。

1.6K20

vue如何引用js文件_html转化为vue组件

VUE项目中引入JS文件的几种方法 在开发Vue项目的时候,有时需要使用一些非ES6格式的没有export的js库,可以有如下方法实现: 1.在index.html页面使用script标签引入...Map 2.在main.js中使用window.moduleName 使用 也可以放入Vue.prototype,这样组件内都可以使用。...库需要使用的方法放入export default { /**要导出的方法**/},然后通过import {*} from 使用 在JS:function realconsole(){ alert...; } export { realconsole } 在需要使用JS库的组件:import realconsole from ‘./xxx’ 4....使用import方式,把需要的js的方法挂载到全局 如下:import ‘@static/libs/GLTFLoader’ // 可以从全局获取导入的方法 let GLTFLoader = THREE.GLTFLoader

3.9K20

js的值类型和引用类型的区别

js的值类型和引用类型的区别 1.JavaScript的变量类型有哪些?...因此,所有在方法定义的变量都是放在栈内存的;栈存储的是基础变量以及一些对象的引用变量,基础变量的值是存储在栈,而引用变量存储在栈的是指向堆的数组或者对象的地址,这就是为何修改引用类型总会影响到其他指向这个地址的引用变量...2、保存与复制的是值本身 3、使用typeof检测数据的类型 4、基本类型数据是值类型 (2)引用类型: 1、占用空间不固定,保存在堆(当我们在程序创建一个对象时,这个对象将被保存到运行时数据区,...堆内存的对象不会随方法的结束而销毁,即使方法结束后,这个对象还可能被另一个引用变量所引用(方法的参数传递时很常见),则这个对象依然不会被销毁,只有当一个对象没有任何引用变量引用它时,系统的垃圾回收机制才会在核实的时候回收它...在向参数传递引用类型的值时,会把这个值在内存的地址复制给一个局部变量,因此这个局部变量的变化会反映在函数的外部。

3.5K20
领券