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

的使用和内联函数

今天我们来了解一下C++中的&和内联函数

引用标识符&

C++觉得C语言部分的指针有些麻烦,容易混乱,所以C++创造了一个标识符&,表示是谁的别名。跟指针对比一下:int* a1=&b1;int &a2=b2;这样看,显然a1存放的是b1的地址,而a2是b2的别名,把a2看成是b2就行。这样大大方便了书写,想过之前数据结构中的单链表的二级指针和一级指针的烧脑吗?现在直接在参数中给出结构体引用就行了。

但是值得注意的是&必须在定义的时候就得初始化,跟static变量一样的机制。

内联函数

内联函数区别于其他普通函数就是在于inline标识符,在前面加个inline的话,编译器就会识别该函数,对其判断是否应该给其真正的内联。这里编译器会自行判断,如果函数体的代码是轻量的,就会进行内联处理,反之则不会处理。

那内联函数的作用是什么呢?是让函数调用时无需重新开空间占用内存,而是使用时直接展开,减少内存消耗,但是会造成编译的速度减慢。所以编译器会自行判断,轻量代码如果我们需要经常调用的话,例如Swap函数,就给其内联标识符,这样就会减少内存的使用。

如果函数是类成员函数的话,编译器会自动判断是否需要内联处理。

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

相关文章:

  • 征程6 上基于 DEB 工具实现包管理
  • 【git】一文详解: git rebase到底有啥问题
  • 高性能计算应用优化实践之WRF
  • nsight-compute使用教程
  • 【深度学习】03-神经网络01-4 神经网络的pytorch搭建和参数计算
  • 我与Linux的爱恋:命令行参数|环境变量
  • django drf 统一Response格式
  • SM2协同签名算法中随机数K的随机性对算法安全的影响
  • 解决setMouseTracking(true)后还是无法触发mouseMoveEvent的问题
  • 基于深度学习的花卉智能分类识别系统
  • Springboot集成MongoDb快速入门
  • DERT目标检测—End-to-End Object Detection with Transformers
  • 软件后端开发速度慢的科技公司老板有没有思考如何破局
  • 开放原子超级链内核XuperCore可搭建区块链
  • 【Qualcomm】高通SNPE框架的使用 | 原始模型转换为量化的DLC文件 | 在Android的CPU端运行模型
  • C++map与set
  • 随手记:前端一些定位bug的方法
  • 【深度学习】03-神经网络2-1损失函数
  • Python爬虫APP程序:构建智能化数据抓取工具
  • 第五部分:2---中断与信号
  • 梧桐数据库(WuTongDB):SQL Server Query Optimizer 简介
  • Scrapy框架介绍
  • Facebook对现代社交互动的影响
  • Java项目运维有哪些内容?
  • 【学习笔记】MIPI
  • QMake 脚本知识点记录
  • Kubernetes配置管理(kubernetes)
  • macOS与Ubuntu虚拟机使用SSH文件互传
  • defineExpose 显式导出子组件方法
  • vue 解决列表界面进入明细返回查询条件不变