当前位置: 首页 > news >正文

【C++】const和函数参数

一、const

在 C++ 中,const 关键字用于定义常量。将 const 关键字放在指针的不同位置,其含义也不同。

1、指向常量的指针 

const int* ptr;

ptr 是一个指向 const int 的指针,ptr 所指向的值不能通过 ptr 修改,但指针本身可以改变指向的地址。

2、常量指针

int* const ptr;

ptr 是一个常量指针,指针本身不能改变指向的地址,但可以修改 ptr 所指向的值。

3、指向常量的常量指针

ptr 是一个指向 const int 的常量指针,指针本身不能改变指向的地址,且不能通过 ptr 修改其指向的值。

二、传入值参数和传入引用参数的区别

1、传值参数

void func(ComplexType param);

paramComplexType 类型的一个副本。调用函数时,会创建传入对象的副本。对于大型对象,传值参数可能会有较高的性能开销。

2、传引用参数

void func(ComplexType& param);

paramComplexType 类型的一个引用。调用函数时,不会创建副本函数内部对 param 的修改会影响传入的对象。传引用避免了副本的创建,可以提升性能。

3、传常量引用参数

void func(const ComplexType& param);

paramComplexType 类型的一个常量引用。调用函数时,不会创建副本,且函数内部不能修改 param,只能读取。传常量引用避免了副本的创建,同时确保了安全性。

何时需要为传入的引用参数加上 const?

当函数需要读但不需要修改传入的对象时,应使用 const 引用

http://www.lryc.cn/news/376598.html

相关文章:

  • 2024zjb
  • 线程池的艺术:深度解析Java多线程并发性能的优化之道
  • Ubuntu server 24 (Linux) 新增磁盘 lvm 动态扩容磁盘空间
  • Linux C编译器从零开发三
  • 02-ES6新语法
  • Vue3中VueRouter基本用法及与Vue2中路由使用差异解析
  • 10.Docker Compose容器编排
  • 【算法——动态规划(从dfs回溯开始推导dp)】
  • 不是所有洗碗机都能空气除菌 友嘉灵晶空气除菌洗碗机评测
  • 【Linux】如何创建yum 组(yum groups)
  • Linux ssh远程关闭如何保持进程在后台运行的解决方案
  • TypeScript中的泛型
  • LeetCode-2779. 数组的最大美丽值【数组 二分查找 排序 滑动窗口】
  • RIP与OSPF发布默认路由(华为)
  • Android 一个改善的okHttp封装库
  • 瓦罗兰特低价区怎么下载 瓦罗兰特低价区下载教程+免费加速器推荐
  • lspci总结
  • Android开启HTTP服务
  • NLP - word2vec详解
  • AI办公自动化:用通义千问批量翻译长篇英语TXT文档
  • 一键解压,无限可能——BetterZip,您的Mac必备神器!
  • 【数学】什么是最大似然估计?如何求解最大似然估计
  • 跟张良均老师学大数据人工智能|企业项目试岗实训开营
  • Pentest Muse:一款专为网络安全人员设计的AI助手
  • 10 SpringBoot 静态资源访问
  • Unity 之通过自定义协议从浏览器启动本地应用程序
  • Python抓取天气信息
  • 【超越拟合:深度学习中的过拟合与欠拟合应对策略】
  • 【Orange Pi 5与Linux内核编程】-理解Linux内核中的container_of宏
  • 003.Linux SSH协议工具