浅谈C嘎嘎入门基础

news2024/9/21 2:34:39

看到这篇文章的童鞋或许会有疑惑,这不是之前 已经出过了吗,是的但是之前那篇文章可能不太好理解,因此我再写一篇便于大家理解的文章

 那么上一篇文章已经帮大家过渡到C嘎嘎了,那么这篇文章我们继续讲解C嘎嘎的知识点。

C嘎嘎中的引用

引用概念方面:理解为起别名或者起绰号即可

格式:int&   新变量名 = 原变量名;注意:这里的&要与前面的类型放一起,属于是引用类型

函数传参是想要传常量参数给形参时,形参必须要用const修饰,

常引用

const  int&  变量名   =   数值;eg.const   int&  x  =  1;

右值引用

只能给运算符右边起别名

const   int&&  变量名  =   (数值) ;  eg.const int&&  x = 1;  //常量是右值(运算符的右边)

传参时的引用

 益处:可以增加一个可以修改的接口

常引用

右值引用与常引用的区别

右值引用可以修改变量的值,常引用不可以

引用的作用

1. 函数传参(防止拷贝产生)

2. 函数返回值(增加左值的使用)

3. 不能返回局部变量的引用

返回引用

返回引用的表示返回变量本身

函数思想

内联函数

关键字:inline

以牺牲空间的方式提高效率,一般短小精悍的函数可以内联(宏也是短小精悍)

概念:编译完后以二进制的形式存在,一般在类或结构体中实现的函数是默认内联函数

函数重载

概念:允许同名不同参数函数存在

         1. 参数数目不同

         2. 参数类型不同

         3. 参数顺序不同(一定建立在不同类型的基础上)

那么这张图片里的函数优先会调用与它类型相同的。

函数的缺省

函数缺省这里只需要知道全缺省和半缺省即可

 int add(int i = 0, int  b = 2)//全缺省参数

int add(int i, int b= 2)//半缺省参数

另外写缺省时,必须要参数之间不能出现以下这种情况

那么本篇文章的内容就先到这里啦,希望对各位童鞋有所帮助

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

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

相关文章

牛客:DP25 删除相邻数字的最大分数(动态规划)

文章目录 1. 题目描述2. 解题思路3. 代码实现 1. 题目描述 2. 解题思路 题目的意思是选择某一个数,就会得到这个数 * 它出现的次数的分数,因此为了能快速统计出选择某一个数所能得到的分数,我们可以在输入数据时,使用一个数据来计…

C++的入门基础(二)

目录 引用的概念和定义引用的特性引用的使用const引用指针和引用的关系引用的实际作用inlinenullptr 引用的概念和定义 在语法上引用是给一个变量取别名,和这个变量共用同一块空间,并不会给引用开一块空间。 取别名就是一块空间有多个名字 类型& …

vue3+ECharts实现可视化中国地图

目录 版本问题解决 中国地图实现 版本问题解决 目前echarts的最新版本为5.5.1 echarts在4.9.0版本以后移除了中国地图,所以如果的你的版本高于4.9.0就需要手动导入中国地图。版本低于或者等于4.9.0则不需要导入。 这里我分享一种导入方法: 1.将项目的…

前端JS特效第34波:jQuery支持拖拽图片上传的图片批量上传插件

jQuery支持拖拽图片上传的图片批量上传插件&#xff0c;先来看看效果&#xff1a; 部分核心的代码如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <title>jQuery支持拖拽图片上传的图片批…

J027_递归算法

一、求n的阶乘 n的阶乘&#xff1a;1*2*3*4*...*n package com.itheima.d01_file;public class DiguiTest1 {public static void main(String[] args) {//求n的阶乘System.out.println(f(3));System.out.println(f(4));System.out.println(f(5));}private static int f(int n…

[激光原理与应用-111]:南京科耐激光-激光焊接-焊中检测-智能制程监测系统IPM介绍 - 15 - 常见缺陷与波形特征

目录 前言&#xff1a;激光焊接时的光谱特征 可见光 反射光 红外热辐射光 总结 一、动力电池 - 模组 - BusBar焊接 1.1 概述 1.2 没有缺陷波形&#xff1a;一条焊缝 1.3 保护气缺失 1. 可见光 2. 反射光 3. 红外光 综合分析 1.4 功率衰减 1. 可见光 2. 反射光 …

捷配生产总结-PCB上器件布局不好对SMTDIP的影响

在电子制造领域&#xff0c;PCB&#xff08;印刷电路板&#xff09;的设计至关重要&#xff0c;其中器件的布局更是影响着整个生产流程的效率和质量。特别是对于 SMT&#xff08;表面贴装技术&#xff09;和 DIP&#xff08;双列直插式封装&#xff09;这两种常见的组装工艺&am…

STM32之七:SPI通信

目录 1.SPI通信简介 1.1 主从模式 1.2 4根通信线 1.3 数据传输 2. SPI总线时序及其4种工作模式 2.1 SPI数据移位示意 2.2 SPI四种工作模式 2.2.1 mode 0 &#xff1a;CPOL 0,CPHA0 2.2.2 mode 1&#xff1a; CPOL 0&#xff0c;CPHA 1 2.2.3 mode 2&#xff1a; C…

2024-07-14 Unity插件 Odin Inspector1 —— 插件介绍

文章目录 1 介绍2 模块3 学习目的 1 介绍 ​ Odin Inspector 是 Unity 的一个插件&#xff0c;拥有强大、自定义和用户友好的编辑器&#xff0c;而无需编写任何自定义编辑器代码&#xff0c;使得编程过程中的数据可视化更容易实现。 ​ 具体功能包括&#xff1a; 更舒适美观…

新一代大语言模型 GPT-5 对工作与生活的影响及应对策略

文章目录 &#x1f4d2;一、引言 &#x1f4d2;二、GPT-5 的发展背景 &#x1f680;&#xff08;一&#xff09;GPT-4 的表现与特点 &#x1f680;&#xff08;二&#xff09;GPT-5 的预期进步 &#x1f4d2;三、GPT-5 对工作的影响 &#x1f680;&#xff08;一&#xf…

FreeRTOS学习(1)STM32单片机移植FreeRTOS

一、FreeRTOS源码的下载 1、官网下载 FreeRTOS官方链接 官方下载速度慢&#xff0c;需要翻墙&#xff0c;一般选择第一个 2、直接通过仓库下载 仓库地址链接 同样很慢&#xff0c;甚至打不开网页&#xff0c;也不建议使用这种方法。 3、百度网盘 链接&#xff1a;https:…

ArrayList模拟实现

ArrayList模拟实现 ArrayList 的初步介绍常见操作 ArrayList 的简单模拟实现 ArrayList 的初步介绍 ArrayList也叫做顺序表&#xff0c;底层是一个数组。 在创建顺序表 时就应该规定 里面元素的数据类型&#xff0c;其中不能直接传基本数据类型&#xff0c;例如int、char。需要…

超简易高效的 AI绘图工具—与sd-webui一致界面,6G显存最高提升75%出图速率!(附安装包)

大家好&#xff0c;我是灵魂画师向阳 今天给大家分享一个基于Stable Diffusion WebUI 构建的AI绘图工具—sd-webui-forge&#xff0c;该工具的目标在于简化插件开发&#xff0c;优化资源管理&#xff0c;加速推理。 Forge承诺永远不会对Stable Diffusion WebUI用户界面添加不…

链接追踪系列-09.spring cloud项目整合elk显示业务日志

准备工作&#xff1a; 参看本系列之前篇&#xff1a;服务器安装elastic search 本机docker启动的kibana-tencent 使用本机安装的logstash。。。 本微服务实现的logstash配置如下&#xff1a; 使用腾讯云redis 启动本机mysql 启动本机docker 启动nacos,微服务依赖它作为…

rollup打包工具

rollup打包工具 在学习vite和vue3源码的时候&#xff0c;接触到了rollup&#xff0c;所以过来学习一下 什么是rollup rollup是一个模块化的打包工具&#xff0c;会将javascript文件进行合并。比起webpack&#xff0c;webpack在打包的时候会进行代码注入(保障兼容性)&#xf…

fortran简单排序算法,对一维、二维矩阵进行正序或倒序排序

fortran简单排序算法&#xff0c;对一维、二维矩阵进行正序或倒序排序 0. 引言1. 算法实现1.1 一维数组排序1.2 二维数组排序1.2 module文件 2. 结语 0. 引言 排序算法是计算机科学中的一项重要技术&#xff0c;它将一组数据按照特定的顺序排列起来。排序算法有很多种&#xff…

【云原生】Prometheus整合Alertmanager告警规则使用详解

目录 一、前言 二、Altermanager概述 2.1 什么是Altermanager 2.2 Altermanager使用场景 三、Altermanager架构与原理 3.1 Altermanager使用步骤 3.2 Altermanager工作机制 3.3 Altermanager在Prometheus中的位置 四、Altermanager部署与接入Prometheus 4.1 Altermana…

Codeforces Round 797 (Div. 3) F. Shifting String

感觉这种题写多了&#xff0c;第一眼就感觉是个图论&#xff0c;很经典的排列置换问题&#xff0c;首先连边&#xff0c;然后观察样例可以知道&#xff0c;大概是多个环的大小取lcm&#xff0c;但容易发现&#xff0c;环内部的循环节也对答案有影响&#xff0c;比如一个长度为4…

threadx 线程以及优先级调整案例

以正点原子stm32 f407板子为例子&#xff0c;如何创建工程 CubeMXCubeIDE在我之前的文章里提到了&#xff0c;这里我就不多重复。 有关线程优先级的两个参数 priority和preemption&#xff0c;我们来看看在官网是如何定义的 在main.c里面添加一个printf转串口的代码&#xff0…

Binder解析精炼

Binder原理解析精炼 1 注册服务 Server进程向binder驱动向Binder驱动发起服务注册请求 向Binder驱动申请创建一个XXXService的Binder的实体&#xff0c;Binder驱动为这个XXXService创建位于内核中的Binder实体节点以及Binder的引用 Binder驱动将注册请求转发给ServiceManager进…