C++入门知识点

文章目录

    • 一、C++的域作用限定符
      • 1.1全局域
      • 1.2限定域作用范围
    • 二、C++的命名空间域
      • 2.1单个命名空间的变量访问和单个不同命名空间的相同变量名的访问
      • 2.2命名空间的嵌套调用
    • 三、C++的流插入、流提取操作符
    • 四、C++的缺省参数
      • 4.1函数的全缺省
      • 4.1函数的部分缺省
    • 五、C++的函数重载
      • 5.1函数重载的参数的个数不同
      • 5.2函数重载的参数的类型不同
      • 5.3函数重载时,编译器的识别
    • 六.C++的引用
      • 6.1C++引用时,引用的变量和被引用的变量其实是同一块空间地址相同
      • 6.1C++引用在函数返回值的应用

在这里插入图片描述
所属专栏:C++初阶

在这里插入图片描述
引言

本章涵盖的知识点如下:

1.C++的域作用限定符
2.C++的命名空间域
3.C++的流插入、流提取操作符
4.C++的缺省参数
5.C++的函数重载
6.C++的引用

一、C++的域作用限定符

1.1全局域

在这里插入图片描述

这里的using namespace的意思是把std(C++的标准库)全部展开,此时C++里面的函数可以访问
这里的cout,endl就是std里面的函数。

在没有展开标准库时,就无法识别cout和endl
在这里插入图片描述

1.2限定域作用范围

如果我们要使用部分的标准库就用std::来修饰就可以访问到C++标准库,如下图

在这里插入图片描述
而且没一个都要修饰,不能第一个cout或者endl修饰了,第二个就不修饰了,就会出现问题
在这里插入图片描述

二、C++的命名空间域

2.1单个命名空间的变量访问和单个不同命名空间的相同变量名的访问

在不同的命名空间域中,里面的函数名,变量名都可以一样,因为他们限定在不同的空间作用域互不影响,所以不会产生冲突
在这里插入图片描述
在这里插入图片描述

这里的a一个在bitA的命名空间里面,bitB的命名空间里面互不影响,所以可以相同

2.2命名空间的嵌套调用

命名空间也是可以相互嵌套的,比如:
在这里插入图片描述

三、C++的流插入、流提取操作符

流插入的符号>>,流提取的符号<<。同时流插入和流提取操作符能够自动识别类型,不需要像C语言那样用占位符

流提取

在这里插入图片描述

流提取

在这里插入图片描述
在这里插入图片描述

这里的cin与C语言的scanf的用法类似,只是比c语言更加简洁了

四、C++的缺省参数

4.1函数的全缺省

如下图,Add函数里面的a和b都叫缺省参数,里面的参数都被赋值,这个叫全缺省,并且主函数中调用Add函数可以不用传参数

在这里插入图片描述
在这里插入图片描述

如果如果全缺省的函数调用中传了值(每个值都是从左向右一一对应)那么就用调用该函数中a,b的值
在这里插入图片描述
在这里插入图片描述

4.1函数的部分缺省

还是用上面那个例子,部分缺省也就是函数定义中a或者b中有一个不给值
在这里插入图片描述

但是这样就不行,因为定义中也没有赋值,传参中也没有给值
在这里插入图片描述

函数缺省值中只能从左向右缺省不能,左边缺省,右边不缺省,或者中间不缺省
在这里插入图片描述

在这里插入图片描述

五、C++的函数重载

函数重载也就是函数可以相同,但是参数的个数,参数的类型必须不同,不然就是同名函数这点与C语言判断方式不一样

5.1函数重载的参数的个数不同

在这里插入图片描述
在这里插入图片描述

5.2函数重载的参数的类型不同

在这里插入图片描述
在这里插入图片描述

5.3函数重载时,编译器的识别

在这里插入图片描述

打开反汇编,里面有VS识别不同的Add函数,不同的Add函数里面调用的内容不一样,编译器通过这个进行识别不同的类型(call是函数调用的意思)

六.C++的引用

6.1C++引用时,引用的变量和被引用的变量其实是同一块空间地址相同

C++的引用其实是对C语言太复杂的指针的一种简化,更方便大家使用(在C++中引用和指针都是配合使用的)

在引用的时候

在这里插入图片描述
在这里插入图片描述

这里a和b只是叫法不一样而已

6.1C++引用在函数返回值的应用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这里的两个11都是随机值

在这里插入图片描述

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

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

相关文章

【操作系统学习笔记】文件管理1.5

【操作系统学习笔记】文件管理1.5 参考书籍: 王道考研 视频地址: Bilibili 逻辑结构 VS 物理结构 逻辑结构: 从用户角度看&#xff0c;由创建文件的用户自己设计的 无结构文件 // 在用户看来是一篇连续的空间 FILE *fp fopen("test.txt", "r"); if (fp …

【算法集训】基础算法:模拟

一、基本理解 顾名思义&#xff0c;就是题目要求做什么&#xff0c;代码中就跟着做就可以。 二、题目练习 1252. 奇数值单元格的数目 根据题目要求列出如下代码。需要注意填充列和行的时候注意下标。 int oddCells(int m, int n, int** indices, int indicesSize, int* in…

this关键字

this关键字 this 是 Java 的一个关键字&#xff0c;表示某个对象 this 可以出现在构造方法、实例方法中&#xff0c;但不可以出现在类方法中 出现在构造方法中&#xff0c;代表使用该构造方法创建的对象出现在实例方法中&#xff0c;代表正在调用该方法的当前对象 一、构造…

Docker-容器网络互联

目录 1 前言 2 常用指令 3 实现容器互联 3.1 自定义网络 3.2 让容器连接创建的网络 3.2.1 容器创建后连接网络 3.2.2 容器创建时连接网络 3.3 尝试使用容器名访问(测试) 1 前言 在默认情况下&#xff0c;docker中的容器都是连接到一个虚拟的网桥上的&#xff0c;这为独…

关于yolov8的DFL模块(pytorch以及tensorrt)

先看代码 class DFL(nn.Module):"""Integral module of Distribution Focal Loss (DFL).Proposed in Generalized Focal Loss https://ieeexplore.ieee.org/document/9792391"""def __init__(self, c116):"""Initialize a convo…

Spring MVC PathVariableMethodArgumentResolver原理解析

在Spring MVC中&#xff0c;PathVariableMethodArgumentResolver是一个非常重要的组件&#xff0c;它负责解析URL路径中的变量并将其绑定到处理器方法的参数上。通过PathVariable注解&#xff0c;开发者可以方便地从URL中提取参数值&#xff0c;并传递给后端逻辑进行处理。本文…

【Web前端入门学习】—CSS

目录 CSS简介CSS语法CSS三种导入方式CSS选择器元素选择器&#xff08;标签选择器&#xff09;类选择器ID选择器通用选择器子元素选择器后代选择器&#xff08;包含选择器&#xff09;并集选择器&#xff08;兄弟选择器&#xff09;伪类选择器伪元素选择器 CSS常用属性盒子模型网…

电脑工作电压是多少你要看看光驱电源上面标的输入电压范围

要确定电脑的工作电压&#xff0c;必须查看电源上标注的输入电压范围。 国内法规规定民用220V电压范围为10%-15%&#xff0c;也就是说通信220V电压正常范围为187--242V&#xff0c;供电设备一般为180V。 --250V电压范围&#xff0c;即正常情况下电脑电源电压不低于187V即可工作…

css相邻元素边框重合问题,解决方案

1、如下图所示&#xff0c;在给元素设置边框后&#xff0c;相邻元素会出现重合的问题 2、解决方案 给每个元素设置margin-top以及margin-left为负的边框 <div style"width: 300px;display: flex;flex-wrap: wrap;margin-top: 50px;"><div style"border…

【数据结构】二、线性表:5.静态链表的定义及其基本操作(定义、初始化、插入、查找、删除、遍历、长度、特点)

文章目录 5.静态链表5.1定义5.2初始化5.3插入5.4查找5.5删除5.6遍历5.7长度5.8特点 5.静态链表 静态链表是使用数组来模拟链表结构的一种数据结构&#xff0c;用数组的方式实现的链表。 它与传统链表的区别在于&#xff0c;静态链表使用数组保存节点&#xff0c;每个节点包括…

笔记77:理解C++中头文件和源文件的作用【程序编译过程】

一、C 编译模式 通常&#xff0c;在一个 C 程序中&#xff0c;只包含两类文件—— .cpp 文件和 .h 文件。其中&#xff0c;.cpp 文件被称作 C 源文件&#xff0c;里面放的都是 C 的源代码&#xff1b;而 .h 文件则被称作 C 头文件&#xff0c;里面放的也是 C 的源代码。 C 语…

mac系统Idea登录codeium不跳转,报错faild download language server

问题描述 idea通过插件中心安装Codeium以后&#xff0c;登录无法正常跳转到登录页&#xff0c;等待一段时间&#xff0c;右下角图标报错**“faild download language server”** 解决方案 根据上面的报错&#xff0c;是没有成功下载“language_server_macos_x64“&#xff0…

CSAPP-程序的机器级表示

文章目录 概念扫盲思想理解经典好图安全事件 概念扫盲 1.汇编代码使用文本格式&#xff0c;相较于汇编的二进制可读性更好 2.程序内存包括&#xff1a;可执行的机器代码、操作系统需要的信息、管理过程调用和返回的运行时栈、用户分配的内存块 3.链接器为函数调用找到匹配的可…

P9889 [ICPC2018 Qingdao R] Plants vs. Zombies 题解 二分+贪心

[ICPC2018 Qingdao R] Plants vs. Zombies 传送门 题面翻译 给定 n n n 个植物和 m m m 的步数限制&#xff0c;每个植物在位置 1 … n 1\dots n 1…n 上。你初始时在位置 0 0 0&#xff0c;每次可以移动到相邻的位置上。 每次设你走完一步后到达的位置是 i i i&#…

数学建模【模糊综合评价分析】

一、模糊综合评价分析简介 提到模糊综合评价分析&#xff0c;就先得知道模糊数学。1965年美国控制论学家L.A.Zadeh发表的论文“Fuzzy sets”标志着模糊数学的诞生。 模糊数学又称Fuzzy数学&#xff0c;是研究和处理模糊性现象的一种数学理论和方法。模糊性数学发展的主流是在…

小程序API能力集成指南——配网能力API汇总(一)

ty.playnet.autoConnectToAp 自动连接wifi 需引入PlayNetKit&#xff0c;且在>1.1.0版本才可使用 请求参数 Object object 属性类型默认值必填说明ssidstring是配网之后&#xff0c;设备工作 Wi-Fi 的名称pwdstring是配网之后&#xff0c;设备工作 Wi-Fi 的密码completef…

git之系列

git之常用ignore 。 git之常用命令 。 git之reflog分析 。 git之添加和删除全局配置 。 git之如何恢复代码到之前版本 。 git之merge和rebase 。 git之如何合并部分提交 。 git之本地有未提交代码如何切换分支 。 Git通过tag创建分支并推送到远程 。

大语言模型系列-GPT-3

文章目录 前言一、GTP-3的改进二、GPT-3的表现总结 前言 《Language Models are Few-Shot Learners&#xff0c;2020》 前文提到GPT-2进一步提升了模型的zero shot能力&#xff0c;但是在一些任务中仍可能会“胡说”&#xff0c;GTP-3基于此提出了few shot&#xff0c;即预测…

7-22 试试手气(Python)

我们知道一个骰子有 6 个面&#xff0c;分别刻了 1 到 6 个点。下面给你 6 个骰子的初始状态&#xff0c;即它们朝上一面的点数&#xff0c;让你一把抓起摇出另一套结果。假设你摇骰子的手段特别精妙&#xff0c;每次摇出的结果都满足以下两个条件&#xff1a; 1、每个骰子摇出…

ZYNQ--AXI_DMA使用

文章目录 手册阅读典型连接图SG模式关闭时的寄存器地址SG模式开启时的寄存器地址BD设计PS端设计对于DMA寄存器的控制对DMA进行初始化 手册阅读 典型连接图 SG模式关闭时的寄存器地址 SG模式开启时的寄存器地址 关于各个bit的功能&#xff0c;具体看数据手册。 BD设计 通过PL侧…