const的作用--学习笔记

C/C++求职宝典21个重点笔记(常考笔试面试点) 这是我看过《C/C++求职宝典》一书做的笔记,都是一些笔试面试中常考的重点难点问题。 阅读详情

1. const关键字的作用

  1. 欲阻止一个变量被改变,可使用const,在定义该const变量时,需先初始化,以后就没有机会改变他了;

  2. 对指针而言,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const;

  3. 在一个函数声明中,const可以修饰形参表明他是一个输入参数,在函数内部不可以改变其值;

  4. 对于类的成员函数,有时候必须指定其为const类型,表明其是一个常函数,不能修改类的成员变量;

  5. 对于类的成员函数,有时候必须指定其返回值为const类型,以使得其返回值不为“左值”。

  6. **const修饰变量 **

  变量的值不能改变;
2. const修饰指针

  • 如果const位于*的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;
  • 如果const位于*的右侧,const就是修饰指针本身,即指针本身是常量;
  • 指针常量:不能通过指针来修改变量的值。
  • 常量指针:一直指向该变量,不能给该指针赋予其他地址;
  1. 函数中使用const
  • const修饰函数参数
  • 表示参数不可变
  • 若参数为引用,可以增加效率 ;(const 引用传参)
  • const 修饰函数返回值:使得其返回值不为“左值”。
  1. 类中使用const

4.1 const修饰成员变量

  表示成员变量不能被修改,同时只能在初始化列表中赋值;

4.2 const修饰成员函数

  • 该函数不能改变对象的成员变量;
  • 不能调用非const成员函数,因为任何非const成员函数会有修改成员变量的企图;
  • const的成员函数才能被一个const类对象调用。即const类对象只能调用const成员函数;
  • const关键字不能与static关键字同时使用,因为static关键字修饰静态成员函数,静态成员函数不含有this指针,即不能实例化,const成员函数必须具体到某一实例。

4.3 const修饰类对象

  • 对象的任何成员都不能被修改;
  • 只能调用const成员函数;

类中的所有函数都可以声明为const函数吗。哪些函数不能?

构造函数不能:

  • const修饰函数表示该函数的返回值是const类型的,改返回值只能赋值给同类型的const变量。
  • const是可以修饰类的成员函数,但是该函数不能修改数据成员。构造函数也属于类的成员函数,但是构造函数是要修改类的成员变量,所以类的构造函数不能申明成const类型的。

静态成员函数不行:
  static静态成员是属于类的,而不属于某个具体的对象,所有的对象共用static成员。this指针是某个具体对象的地址,因此static成员函数没有this指针。而函数中的const其实就是用来修饰this指针的,意味this指向的内容不可变,所以const不能用来修饰static成员函数;

42、Windows Server Update Services(WSUS)全面指南 本文全面介绍了Windows Server Update Services(WSUS)的安装、配置、管理与优化策略。内容涵盖WSUS基础认知、客户端更新问题解决、多服务器架构设计、计算机分组策略、更新审批与报告查看,并深入探讨了SSL加密配置、性能优化、与其他系统(如AD和SCCM)集成以及常见故障排查方法。通过本指南,IT管理员可高效部署和管理企业级软件更新,提升安全性和运维效率。 阅读详情

相关推荐

Tip-Adapter: Training-free Adaption of CLIP for Few-shot Classification

对比式视觉-语言预训练,也称为CLIP,通过大规模的图像-文本对来学习视觉表示,为zero-shot知识迁移展示了新的范式。它在下游任务上展现出令人瞩目的性能,实现了zeri-shot的知识迁移。为了进一步增强CLIP的适应能力,现有方法提出了微调可学习模块的方法,显著提高了少样本情况下的性能,但也引入了额外的训练时间和计算资源。在本文中,我们提出了一种适用于CLIP的无需训练的少样本分类方法,称为Tip-Adapter。

qq_43800752的博客 1165

const关键字、全局作用域、作用域链、预解析、变量与函数提升以及var与let、const的区别总结

const关键字 const 是声明 常量 的 变量: 可以变化的量,顾名思义,声明后还可以对它进行修改 常量: 声明的数据不能修改的 const num2 = 10 num2 = 30 // 报错,因为常量值不能被修改 const也是认块级作用域 { const num = 10 console.log(num) } console.log(num) // 报错,const也认块级

gaoyan426926的博客 1319

从零构建智慧农业监测终端:STM32数据采集与LoRa组网实战

本文详细介绍了如何从零构建智慧农业监测终端,涵盖STM32数据采集与LoRa组网实战。通过DHT22温湿度传感器和YL-69土壤湿度传感器实现精准环境监测,结合LoRa无线传输技术解决偏远农田信号问题。文章还分享了硬件选型、电路设计、低功耗优化及Flutter跨平台应用开发等关键技巧,助力农业智能化升级。

weixin_29172963的博客 357

JavaScript 作用域 与 var、let、const关键字

本文主要记录JavaScript中的作用域,以及var、let、const关键字的特点和使用场景;

m0_65029152的博客 4513

C语言头文件完全解析(连“#”我都给你讲明白)

C语言头文件完全解析 引言 本文将尽量详细的介绍c语言的头文件所包含的知识,如有错误,还望指正。 萌新们肯定疑惑为什么每次打代码都要写一个所谓的头文件(如:#include<stdio.h>),这里先简单让大家有个了解,你所用的 printf("%d",a)就是这个 stdio里的东西,如果没有这个头文件,编译器都不知道 printf是个什么东东。所以头文件就是一个准备好的大仓库,你可...

CRAZY_eyes的博客 7万+

瑞芯微RK3576开发板实战:6TOPS NPU如何加速你的AIoT项目(附性能测试)

本文以瑞芯微RK3576开发板为核心,深入探讨其6TOPS NPU在AIoT项目中的实战应用。通过详细的性能测试对比,展示了NPU如何将AI模型推理速度提升15倍以上,并大幅降低CPU负载。文章涵盖从环境搭建、模型转换优化到多屏异显与系统级调优的全流程,为开发者提供了将硬件算力转化为实际项目加速效果的完整指南。

oauth7security的博客 821

let、const、以及作用域

let(与var区别) 1、var声明变量不支持块级作用域; 2、let声明的变量仅在其代码块里有效,支持块级作用域; 3、var:i=10;let的i会报错(for循环会形成一个大的代码块,for以外的i就访问不到了); 4、for循环在设置循环变量的部分是一个父作用域,循环体内部又是一个独立的子作用域。 5、变量提升:预编译把所有变量提取到最顶端进行声明,但未初始化,返回undefined; 6、暂时性死区(使用let命令声明变量之前,该变量都是不可用,这个区域被称为暂时性死区):使用let时,必须是先

apeiziwei的博客 1750

AS7262六通道可见光传感器:从光谱原理到物联网色彩检测实战

光谱检测是嵌入式感知领域的关键技术,其核心原理是通过特定波长的滤光片分离光线并转换为电信号,从而实现对环境光或物体反射光的成分分析。这项技术的价值在于将复杂的光学分析简化为可编程读取的数字信号,极大降低了色彩检测在物联网和智能设备中的应用门槛。在智能农业、工业分拣、环境监测等场景中,精确的光谱数据能够驱动自动化决策,例如评估植物光照条件或识别物料颜色。本文以Adafruit AS7262传感器为例,深入解析其基于硅干涉滤光片的六通道设计,并通过Arduino与Python实战,演示如何快速构建从数据采集到可

weixin_28738173的博客 596

《华为C&C++语言安全规范》笔记

《华为C&C++语言安全规范》笔记 通过阅读《华为C&C++语言安全规范》1,我了解到了我在编程中很多缺失的部分。现在记录下几个要点: 规则1.1.4:严禁对指针变量进行sizeof操作 编码人员往往由于粗心,将指针当做数组进行sizeof操作,导致实际的执行结果与预期不符。 下面的代码,buffer和path分别是指针和数组,编码人员想对这2个内存进行清0操作,但由于编码人员的疏忽,第5行代码,将内存大小误写成了sizeof,与预期不符。 如果要判断当前的指针类型大小,请使用sizeof

9712

VS Code 重大更新:Agent Skills完美支持!

代码不会骗人,但你的 LLM 可能会编个故事——除非你给它一本《技能手册》。——某位深夜调试成功的 Go 工程师。

weixin_44058951的博客 3459

YOLOv8改进:全网原创首发 | 新颖的多尺度卷积注意力(MSCA),即插即用,助力小目标检测 | NeurIPS2022

多尺度卷积注意力(MSCA),有效地提取上下文信息;1)作为注意力MSCA使用;

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 3844

JavaScript学习笔记九 —— 变量的作用域、let、const

## 变量作用域 在js中,var定义变量实际是有作用域的。 如果在函数体中申明,在函数体外不可以使用(闭包可以实现在函数体外使用) ```javascript function a(){ var x = 1; x = x + 1 } x = x + 2 //这里控制台会报错 ``` 如果函数嵌套,内部函数可以访问外部函数变量,外部不可以访问内部,所以内外部函数的变量重名没有影响 **提升变量作用域** ```javascript function a(){ var x = "x" + y; c

影龙武的博客qq_43594119 414

【OpenClaw从入门到精通】第34篇:医疗AI的“Agent OS”时代:基于WiseClaw构建医院专属智能体平台(2026实测版)

2026年医疗AI迈入实战落地新阶段,全球首个医疗OpenClaw平台WiseClaw正式发布,香港中文大学(深圳)医院完成业内首个私有化部署。本文基于真实医疗场景需求与公开技术资料,系统拆解医疗智能体平台的建设逻辑:从医疗Agent OS的五大核心特性切入,详解门诊病历质控、用药审查、医院运行管理三大临床场景的智能体搭建流程,提供完整的私有化部署代码、安全配置方案与实操演示。文章兼顾新手入门与进阶需求,严格遵循医疗合规要求,强调“只读不写+人工复核”原则,所有方案均经过虚拟实测验证。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 788

android学习笔记-const修饰符作用

android ipc底层binder通信机制,对const的用法非常不解,如下: static const String16 descriptor;                                   \    static sp asInterface(const sp& obj);        \    virtual const String16& getInter

goaago的博客 376

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

ES6学习笔记一:let、const与作用域

ES6学习笔记一:let、const与作用域前言一、ES6新增块关键字let、const二、let关键字2.1.基本方法2.2.不存在变量提升2.3.暂时性死区三、const关键字3.1.基本方法总结 前言 此系列文章用于记录小萌新的ES6的学习经历如有什么错误或者不好的地方请各位大佬多多指教 一、ES6新增块关键字let、const 在ES5中只有var关键字来定义变量,ES6新增了两个关键字let和count对变量进行声明, 并且在ES5中作用域方面不支持块级作用域。而ES6添加这两个关键字就是为了

weixin_44258327的博客 3752

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

C++学习笔记——函数形参使用const的作用

添加链接描述 C++中函数形参使用const会使程序更加灵活。

phily123的博客 250

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

ES6 学习笔记(一)let、const与作用域

一、let命令 1.1用法 1.1.1 let类似于var,但所声明的变量只在let命令所在的代码块有效。 如: { let a = 10 var b = 20 } console.log(b) console.log(a) 输出结果: 20 D:\code\Workspace\JS_projects\test\02\01.js:10 console.log(a) ^ Ref...

如诗 241

学习笔记 C语言:一个const对指针的作用

学习笔记 C语言:一个const对指针的作用

学习不爱我_! 1381

Web前端高级编程学习笔记1:let、作用域、const

let 1.let:类似于var,但所声明的变量只在let命令所在的代码块有效。 for循环很适合let命令。 for(var i=0;i<10;i++){ console.log(i); } console.log(i); //输出10 for(let i=0;i<10;i++){ console.log(i); } console.log(i); //报错,i未定义 for

L1nCyKkk的博客 541

《C++ Primer Plus》学习笔记——C++中关键词const的用法和作用

C++中关键词const的用法和作用 1、声明常量,可以采用const声明常量。 格式为: const VarType VarName=value; 如:const int a=10;//const声明的为常量,在成熟中不可更改,即 a=20这样的赋值操作不被允许。 2、const也可以用来修饰函数的形参。被修饰的参数在函数中只允许读,不可修改。 格式为: Int a=10; void show1(const int a) { a=20;//操作不被允许 cout<<a; } 同样的,也可以用来

qq_41789960的博客 328

ES6学习笔记(一)let和const 块级作用域

let let使用的作用域 let是ES6中新加入的变量声明,和var类似,但是let声明的变量只能在其声明的块级作用域中使用 if(true){ var a=1; } console.log(a);//输出1 if(true){ let b=1; } console.log(b);//报错:Uncaught ReferenceError: b is not defi...

zem 941

understanding ES6 学习笔记1 块级作用域 let 与const

一.let与const let、const与var的区别 1.首先的一点,也是最重要的,let与const是块级作用域,而var是函数作用域。    详解: 你在一个大括号中定义了let 与 const{},在函数外是无法访问的,而var 只有定义在函数里面,外部才无法访问。 2. let与const没有变量提示,意味着,你无法在声明他们之前去使用他们。     详解:        ...

Gurad233的博客 317

JavaScript学习笔记02:作用域和关键词声明创建let,const,var和function

我们来说一下TDZ工作原理,JavaScript引擎在扫描代码时发现声明变量时,如果遇到var就会把它提升到当前作用域顶端,如果遇到let或const就会把声明放到TDZ中,如果访问TDZ中的变量就会抛出错误,只有执行完TDZ中的变量才会将他移出,然后就可以正常方法了,这机制只会在当前作用域生效。var有一个弊端会影响全局变量的风险,在块内声明的变量还会重新声明块外的变量而let不会有这个问题他只会声明块内的变量,(老浏览器可能不支持let)分别有if块,while块,函数块,for循环块,单独{}块.

Magic_yuyue的博客 189

JS学习笔记(六)是什么执行上下文和作用域?var、let、const的区别?

是什么执行上下文和作用域?var、let、const的区别?

Yeee_F 308

ES6 学习笔记之一 块作用域与let和const

在学习ES6的块作用域和 let、const 之前,我们先来看看ES5以前的 var 关键字。 var 关键字用于定义一个变量,通常我们会将其与变量的赋值合并为一条语句,就像下面这样(例1): var age = 30; 但实际情况是有些微妙的。 在JavaScript中,变量的定义与否,虽然不像强类型语言那样重要,但也还是有所不同的。 变量未定义,是一种未捕获类型的错误,输出的...

weixin_30808253的博客 157

C++学习笔记1-const前缀

C++学习笔记1|const前缀、static前缀 1. 使用方法 const int a = 10; int const a = 10; 这二者是等价的。 2. const的含义 const关键字是constant的缩写,意思是不变的。用const定义的变量,具有了常量的部分属性,但是其本质依然是变量。 上面两条语句都将变量a定义成了const类型的变量。当变量被定义成const类型后,最明显的一个特征就是不允许再对他进行赋值了,如果赋值,编译器会报错。 int main(void){ const

PedestrianZQZ的博客 547
上一篇: 堆--学习笔记
下一篇: AVI格式--学习笔记
BERLIN23
博客等级 码龄14年 7粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值