C++编程基础:内联函数、auto关键字、基于范围的for循环和nullptr

news2024/11/18 7:45:37

内联函数

概念

以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数调用建立栈帧的开销,内联函数提升程序运行的效率。

如果在函数前增加inline关键字将其改成内联函数,在编译期间编译器会用函数体替换函数的调用。

特性

1.我们可以这么理解,inline是一种以空间换时间的做法,如果编译器将函数当成内联函数处理,在编译阶段,会用函数体替换函数调用,这样做也是有缺陷:可能会使目标文件变大,优点:减少函数调用,提高程序运行效率。

2.inline对于编译器而言只是一个建议,不同编译器关于inline实现机制可能不同,一般建议将函数的规模,不是递归,且频繁调用的函数采用inline修饰,否则编译器会忽略inline特性。

3.inline不建议声明和定义分离,分离会导致链接错误。因为inline被分开,就没有函数地址了,链接就会找不到。

auto关键字

类型别名思考

随着程序越来越复杂,程序中用到的类型也越来越复杂,经常体现在:

1.类型难于拼写

2.含义不明确导致容易出错

使用auto定义变量时必须使其初始化,在编译阶段编译器需要根据初始化表达式来推到auto的实际类型。因此auto并非是一种“类型”的声明,而是一个类型声明时的“占位符”,编译器在编译期会将aut

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2173939.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

肌筋膜炎可以自愈吗

肌筋膜炎是一种临床常见的疾病,主要表现为肌肉的筋膜发生无菌性炎症,可能由多种因素诱发,如风寒侵袭、疲劳、外伤、不良生活习惯及工作姿势等。关于肌筋膜炎是否可以自愈,主要取决于病情的严重程度和个体差异。 一、肌筋膜炎的自…

云计算Openstack

OpenStack是一个开源的云计算管理平台项目,由美国国家航空航天局(NASA)和Rackspace公司合作研发并发起,以Apache许可证授权。该项目旨在为公共及私有云的建设与管理提供软件支持,通过一系列相互协作的组件实现云计算服…

8610 顺序查找

### 思路 1. **创建顺序表**:从输入中读取元素个数和元素值,构造顺序表。 2. **顺序查找**:在顺序表中依次查找关键字,找到则返回位置,否则返回0。 ### 伪代码 1. **创建顺序表**: - 动态分配存储空间。…

统信服务器操作系统【虚拟机CPU核数显示不对】处理方案

虚拟机CPU核数显示不对的问题现象、问题原因以及解决方案 文章目录 一、问题现象二、问题原因三、解决方案 一、问题现象 新建虚拟机安装过程分配 CPU 个数为 20 个,进入系统终端执行 lscpu 命令查看 CPU 只显示 1 个问题。 如图下所示: 二、问题原因 …

设备管理平台-支持快速开发

技术路线(同时支持前后端分离 / 前后端一体,可用于网关或者服务器部署) 前端:layui-v2.9.17 后端:Net8.0 使用组件 Swagger、Jwt、Freesql、MiniExcel、MemoryCache(存储登录用户信息,代替HttpContext.S…

维修服务品牌小程序渠道客获

维修服务可覆盖家电电器、家具、手机电脑等多个细分类目,本地同城也有着不少目标用户且该行业客户有着一定粘性,比如服务完成递上一张名片/电话留存则有着较高复购率。 线上各行业便捷化程度提升,服务进店/上门都需要快捷完成,包…

又一挣钱副业:AI生成影视解说,半个月涨粉变现3.5W+!

这两年大家都在感叹生活不易,然而我想说的是,机会还是有的,但问题不在于有没有,而在于你是否能够认准机会,然后抓住它。 接触过很多咨询项目的人,发现很多人依旧停留在传统思维中,认为副业就是…

IP 地址大数据分析如何进行网络优化?

一、大数据分析在网络优化中的作用 1.流量分析 大数据分析可以对网络中的流量进行实时监测和分析,了解网络的使用情况和流量趋势。通过对流量数据的分析,可以发现网络中的瓶颈和问题,为网络优化提供依据。 2.用户行为分析 大数据分析可以…

学习JavaScript

js引入方式 1. 内部脚本 内部脚本&#xff1a;将JS代码定义在HTML页面中 JavaScript代码必须位于<script></script>标签之间在HTML文档中,可以在任意地方,放置任意数量的<script>一般会把脚本置于<body>元素的底部,可改善显示速度 弹出一个警告窗口…

Redis集群的两种方式

1.Redis集群 1.1 搭建主从集群 单节点Redis的并发能力是有上限的&#xff0c;要进一步提高Redis的并发能力&#xff0c;就需要搭建主从集群&#xff0c;实现读写的分离。一般情况下&#xff0c;主节点负责写操作&#xff0c;从节点负责读操作。而从节点如何得知数据呢&#xff…

828华为云征文 | 解锁高效项目管理,Zentao在华为云Flexusx容器化部署与应用指南

前言 在当今快速迭代的商业环境中&#xff0c;高效且灵活的项目管理成为企业竞争力的关键。华为云Flexusx实例&#xff0c;以其灵活的vCPU内存配比、热变配功能及按需计费模式&#xff0c;为项目管理软件如Zentao的部署提供了理想平台。Flexusx实例采用按需计费的灵活定价模式&…

Mysql优化(常见优化)

插入数据 批量插入&#xff1a;因为一条条插入时&#xff0c;每一条数据的插入都要与数据库建立连接&#xff0c;并且关闭连接 手动提交事物&#xff1a; 主键顺序插入 大批量数据插入 如果一次性需要插入大批量数据&#xff0c;使用insert语句插入性能较低&#xff0c;此时可…

高等数学 第11讲 多元函数偏导数的计算与应用_复合函数求偏导_隐函数求偏导_条件极值

偏导数的计算 文章目录 偏导数的计算1.复合函数求偏导1.1 复合函数一阶偏导1.2 复合函数二阶偏导 2.隐函数求偏导2.1 直接法2.2 公式法(最重要&#xff09;2.3 全微分形式不变性(好用&#xff0c;但是可以不会) 3.多元函数的极值和最值3.1 无条件极值3.2 最值问题3.2.1 概要3.2…

HuggingChat macOS 版现已发布

Hugging Face 的开源聊天应用程序 Hugging Chat&#xff0c;现已推出适用于 macOS 的版本。 主要特点 Hugging Chat macOS 版本具有以下亮点: 强大的模型支持: 用户可以一键访问多个顶尖的开源大语言模型&#xff0c;包括 Qwen 2.5 72B、Command R、Phi 3.5、Mistral 12B 等等&…

6.微服务架构的一般架构模式概论

TOC Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip hardness,make a better result,wait for change,challenge Survive. happy for hardess to solve denpendies. 目录 概述 理解一下微服务架构 需求&…

4.浮点数二分【求数的平方根】

模板 public class BinarySearch {// 检查x是否满足某种性质public static boolean check(double x) {// 实现具体的检查逻辑return false; // 这里仅为示例&#xff0c;实际根据需求修改}public static double bsearch_3(double l, double r) {final double eps 1e-6; // …

SpringBoot集成Redis及SpringCache缓存管理

1.集成Redis 1.导入依赖 <!--spirngboot springdata对redis支持--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 2.配置信息 #数据源配置…

基于SSM的高校实验室管理系统【附源码】

基于SSM的高校实验室管理系统&#xff08;源码L文说明文档&#xff09; 目录 4.系统设计 4.1 设计原则 4.2 功能结构设计 4.3 数据库设计 4.3.1 数据库概念设计 4.3.2 数据库物理设计 5.系统实现 5.1 管理员功能实现 5.1.1 实验室管理 5.1.2 实验课…

心理咨询展示网站建设渠道拓展

心理问题长期以来都受到关注&#xff0c;每个城市里也都有相关服务商家&#xff0c;除了进店外&#xff0c;线上也可以开展咨询服务&#xff0c;对需求者来说需要找到靠谱的品牌&#xff0c;而商家也需要触达到更多客户获取转化。 网站是品牌线上工具&#xff0c;利于商家通过…

C++黑暗迷宫

目录 开头程序程序的流程图程序游玩的效果下一篇博客要说的东西 开头 大家好&#xff0c;我叫这是我58。 程序 #include <iostream> #include <cstdlib> #include <ctime> using namespace std; struct near {int i;int ia;int ix;int iy;int iwalk; }; v…