const可以出现在函数头,参数列表,以及参数尾

C++函数中const形参与非const形参 在程序设计中我们会经常调用函数,调用函数就会涉及参数的问题,那么在形参列表中const形参与非const形参对传递过来的实参有什么要求呢? 先来看一个简单的例子: #include #include using namespace std; void print_str(const string s) { cout<<s<<endl; } int main() { 阅读详情

 const可以出现在函数头,参数列表,以及参数尾


如:const int& SetPoint(const int& param) const


第一个const: 
函数的返回值限定为const,即返回值不能被修改. 
const int a=SetPoint(...) a在此之后便不能被修改


第二个const:就是你所问的const 
指函数的形参为const类型,函数体内不能被修改.


第三个const:即类的成员函数后面加 const 
表明这个函数不会对这个类对象的数据成员(准确地说是非静态数据成员)作任何改变

咱们一起学C++ 第一百一十八篇:之函数参数与返回值中的const应用 在C++的学习之路上,我们一同前行,共同探索这门语言的深度与广度。此次,我们将深入研究const在函数参数和返回值中的应用。理解这些应用场景对于编写高质量、安全且易于理解的C++程序至关重要。希望通过本次分享,大家能清晰掌握const在函数中的正确使用方式,避免常见的混淆和错误,一起在C++的知识海洋中继续成长,共同进步。 阅读详情

相关推荐

告别PXE!用iPXE在CentOS 8.5上搭建一个能同时装Win11和Linux的万能网络启动盘

本文详细介绍了如何在CentOS 8.5上使用iPXE搭建支持Windows 11和Linux双系统部署的全能网络启动盘。通过对比传统PXE的局限性,展示了iPXE在HTTP协议支持、多架构适配和智能脚本方面的优势,提供从环境准备、服务配置到智能菜单开发的完整解决方案,显著提升系统部署效率。

weixin_29278805的博客 266

const在函数前与函数后的区别

const在函数前与函数后的区别 一   const基础   <br />     <br />   如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况:   <br />     <br />   int   b   =   500;   <br />   const   int*   a   =   &b;              [1]   <br />   int   const   *a   =  

clozxy的专栏 8万+

VSCode玩转STM32:手把手教你配置EIDE插件与OpenOCD调试(附野火DAP配置文件详解)

本文详细介绍了如何在VSCode中配置EIDE插件与OpenOCD进行STM32开发,特别针对野火DAP调试器提供了配置文件详解。从基础环境搭建到深度调试技巧,帮助开发者高效完成STM32项目开发,实现现代化嵌入式开发工作流。

weixin_26905487的博客 553

const的用法,特别是用在函数前面与后面的区别!

&amp;lt;style type=&quot;text/css&quot;&amp;gt; &amp;lt;!-- @page {margin:2cm} p {margin-bottom:0.21cm} a:link {color:#0000ff} --&amp;gt; &amp;lt;/style&amp;gt; const的用法,特别是用在函数后面 ...

数据库天地 656

手把手教你用ET-BERT预训练模型搞定加密流量分类(附完整代码)

本文详细介绍了如何使用ET-BERT预训练模型实现加密流量分类,包括环境配置、数据预处理、模型微调及优化策略。通过实战代码示例,帮助开发者快速掌握这一技术,提升网络安全领域的加密流量分析能力。

weixin_29166013的博客 494

如何在huggingface上申请下载使用llama2/3模型

huggingface-cli download --resume-download 模型名称 --local-dir 存放模型的位置 --local-dir-use-symlinks False --resume-download --token token序列号xxxxxxx。登录huggingface,在模型详情页面上,找到这个表单,填写内容,提交申请。需要使用梯子,country填写梯子的位置吧(比如美国)等待一小时左右,会有邮件通知。

a61022706的博客 1万+

C++-函数声明和函数定义的函数头必须都同时写const

如函数声明写↓ void show(const char *,int print=1); void show(const stringy &amp;,int print=1); 则函数定义的函数头也必须加上const↓ void show(const stringy &amp;str,int print) void show(const char *str,int print) 否则main函数中使用改函数时将视为函数未声明 ...

m0_37965811的博客 290

支付系统保证可靠性的秘诀 ----- 订单的补偿和补单

文章目录WHAT? 前言WHY? 为什么要用多级缓存?HOW 怎么做?方案 版本1:数据库存储专线配置通过优先级进行动态上下线方案 版本1 劣势:方案 版本2 :本地缓存替代数据库方案 版本2 劣势:方案 版本3:分布式缓存做自动补偿方案 版本3 总结:Where 分布式多级缓存还能用在哪些地方?总结 WHAT? 前言 刚入职场的时候觉得支付宝等第三方支付系统好强大,要保证这么多的交易不能错,也不能重复还要保证正确的扣钱,直到后面接触订单系统以及第三方支付公司的核心交易系统后才真正窥探到了支付系统的核心

boboaisisi的专栏 3534

C++:const成员函数,初始化列表,static成员,友元

1.用static修饰的成员变量,称之为静态成员变量,静态成员变量一定要在类外进行初始化。2.静态成员变量为所有类对象所共享,不属于某个具体的对象,不存在对象中,存放在静态区。3.用static修饰的成员函数,称之为静态成员函数,静态成员函数没有this指针。4.静态成员函数中可以访问其他的静态成员,但是不能访问非静态的,因为没有this指针。5.非静态的成员函数,可以访问任意的静态成员变量和静态成员函数。

xiuwoaiailixiya的博客 1323

别只当玩具!聊聊这个555金属探测器电路背后的电磁感应与RLC调谐原理

本文深入解析了555金属探测器电路的工作原理,重点探讨了电磁感应与RLC调谐原理。通过分析电感线圈的电磁特性、RLC谐振电路的行为以及555定时器的多重功能,揭示了这一看似简单的装置如何实现金属检测。文章还提供了灵敏度优化方案和常见问题解决方法,帮助读者从科学角度理解这一实用技术。

weixin_29204205的博客 478

阿里云网络架构设计

背景 一个企业上云,首先要考虑整个网络的规划,涉及到云上和云下的网络规划,云上VPC的规划,云上不同地域VPC的互通,云上可用区的选择等等,所以一定要提前规划好整体的网络架构,现在阿里云云上的虚拟化网络解决方案已经完全转向 了云企业网,所以所有使用阿里云的企业客户多多少少都会使用阿里云的CEN 支撑自己的业务。 云企业网介绍 云企业网(Cloud Enterprise Network)是承载在阿里云提供的高性能、低延迟的私有全球网络上的一张高可用网络。 IDC专线接入CEN 首先面临的是云上和云下打通,那么

修电脑的码农 4842

C++函数的参数类型中为什么要加const

简介 const 是用于对常量的修改,带有const的引用可以称之为常量引用。但是在函数中为什么要添加这个呢,比如 void fun(string&amp;) 和 void fun(const string&amp;) 到底有什么区别呢,本文就些问题进行简单介绍。 1. 可以同时接受常量参数和变量参数 给定给以下两个函数: void fun1(string&amp; s){ cout &lt;&lt; s &lt;&lt; endl; } void fun2(const string&amp; s){ co

郝伟老师的博客——大数据、并行计算与人工智能时代 7361

视源CVTE嵌入式面试题及参考答案(200+面试题,17万字)

内核模块如何设置? 内核模块是可在运行时动态加载到内核或从内核卸载的代码块。以下是设置内核模块的步骤: 首先,编写内核模块代码。通常使用 C 语言编写,包含必要的头文件,如&lt;linux/init.h&gt;、&lt;linux/module.h&gt;等。在代码中,需要定义模块的初始化函数和清理函数。初始化函数在模块加载时被调用,用于进行模块的初始化工作,如注册设备、分配资源等。清理函数在模块卸载时被调用,用于释放资源、注销设备等。 例如: #include &lt;li

大模型大数据攻城狮的专栏 2205

const对象只能调用const成员函数

常量成员函数 (const member function), 可读取类中的数据成员,但不能修改。利用这个特性来对成员函数加以修饰。 const对象是不可以调用类中的非const成员函数。原因之后解释。 假设现在有如下代码: class test{   int i; public:   void print();   test(int i); }; test obj1(12); obj1.p...

anlian523的博客 5682

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

C++中参数列表

1)参数列表的初始化顺序和初始化列表列出的顺序无关,只与它在类中声明顺序有关 2) #include &lt;stdio.h&gt; #include &lt;iostream&gt; using namespace std; class Parent { public: int m_a; int m_b; public: Parent(int b): m_b(b), m_a(...

weixin_42720316的博客 6454

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

const/static修饰成员函数+初始化列表

初始化列表+static/const修饰成员函数,友元函数、内部类,匿名对象,编译器对于连续构造的优化

lzf的博客 1170

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

C++成员函数形参列表后的const

C++成员函数后的const 一 问题 有时候我们在阅读一些源码时,发现有些类的成员函数的形参列表后面有个const,但是使用的时候感觉跟那些没有const的成员函数没有啥区别,如下, #include &amp;amp;amp;amp;lt;iostream&amp;amp;amp;amp;gt; using namespace std; class TestClass { public: TestClass() : val(100)...

爱就是是恒久忍耐的专栏 8630

C++:缺省参数|函数重载|引用|const引用

本篇博客主要介绍C++中的缺省参数、函数重载、引用、const引用的相关知识!

白乐天_ξ( ✿>◡❛)的博客 1574

C++知识点-成员函数中const的使用

const 在C++中是一个很重要的关键字,其不光可以用来修饰变量,还可以放在函数定义中,这里整理了其在函数中的三个用法。 修饰入参 首先我们要明白在C++中调用函数时存在两种方法,即传递值和传递引用。 值传递 值传递时,调用函数时会创建入参的拷贝,函数中的操作不会对原值进行修改,因此这种方式中不需要使用 const 来修饰入参,因为其只是对拷贝的临时对象进行操作。 址传递 传递地址时函数中的操作实际上是直接对原来的值进行修改,因此我们这里可以使用 const 修饰入参。 const修饰入参 当const修

EJoft的博客 5261

《C++》C++成员函数形参列表后的const

一 问题 有时候我们在阅读一些源码时,发现有些类的成员函数的形参列表后面有个const,但是使用的时候感觉跟那些没有const的成员函数没有啥区别,举个简单栗子如下, #include &lt;iostream&gt; using namespace std; class TestClass { public: TestClass() : val(100) {} virtua...

sinat_38792591的博客 777

C++类中const修饰的函数与重载

一、重载的定义 重载声明是指在同一个作用域内,可以声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同。不能仅通过返回类型的不同来重载函数。 二、值传递作为参数,加const不构成重载 int test(const int a) { return a; } int test(int a) { return a; } int main() { int value = 1; std::cout &lt;&lt; test(val

sinat_31608641的博客 3395

const修饰函数、返回值、参数(2.24)

因为上面说了形参在接收的时候是会创建一个临时变量的,那么对于传递的自定义类,他会new一个对象出来,这个对象调用构造函数构造,而在函数结束时还要调用析构函数析构,这样带来的开销就非常大了。以上,对于类的成员变量的修改,即使不是修改值,而是将成员变量从一个int型变为一个地址,这样也是一种对于成员变量的改变。而在const修饰的函数中,对于成员变量是给予了const属性的。而const成员函数只能调用const成员函数,对于非const函数,即使在函数内部没有修改成员变量,也不能被const函数所调用。

qq_44452887的博客 5594

C++函数参数列表中加入 const

参数有助于确保数据的不可变性,同时也有助于编译器进行更多的优化,提高代码的效率。它还可以在代码中传达有关函数行为的重要信息,使代码更加清晰。具有特定的含义,它表示函数不会修改这些参数的值。这对于确保函数的行为不会改变传递给它的数据很有用,同时还可以提高代码的可读性和可维护性。这可以避免不必要的复制,并且还可以表明函数不会修改传递的对象。:如果你知道函数不需要修改传递给它的参数,可以将这些参数声明为。:在成员函数中,如果你不希望修改类的成员变量,可以使用。,以避免不小心的修改。的常量引用,并不会修改它。

小亭宇的博客 373

C++之const类成员变量,const成员函数

C++之const类成员变量,const成员函数

m0_55298718的博客 2032
上一篇: C++中类中static方法的使用
下一篇: define的副作用
evilotus
博客等级 码龄18年 1粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值