【C++课程学习】:C++入门(输入输出,缺省参数)

news2024/9/20 18:46:15

🎁个人主页:我们的五年

🔍系列专栏:C++课程学习

🎉欢迎大家点赞👍评论📝收藏⭐文章

目录

🍩1.关于C++输入输出:

🍩2.缺省参数函数:

缺省参数的概念:

缺省参数的分类:


 

🍩1.关于C++输入输出:

1.cout标准输出对象(控制台),cin标准输入对象 (键盘)。在使用cin和cout的时候,要包含#include<iostream>,以及命名空间std的正常使用。i是in,o是out。

2.<<是流插入运算符,>>是流输出运算符。

3.C++的输入输出不像C语言一样,要指定类型。C++直接可以自动识别变量的类型。

4.endl表示换行,包含在头文件<iostream>中。

注意:早期C++中,头文件还是以.h结尾,所以功能在全局域实现。后面有了命名空间,也为了与C语言的头文件区分,所以C++的头文件中不包含.h。


还提一个点是:(之前的文章也说过的,关于命名空间)
std命名空间的使用惯例:
1.正常我们日常写代码,写题的过程中,我们直接可以展开std命名空间。

#include<iostream>

//日常练习全部展开std命名空间
using namespace std;

int main()
{
	//直接就可以使用cout
	cout << "hello world!"<<endl;
}

2.但是在公司写大一点的项目的时候,如果我们直接展开std命名空间,那么标准库就全部展现出来,如果我们定义了与库中一样的函数,或者类型,就会出错。所以我们在公司,或者写大一点的项目的时候,我们推荐使用部分展开,或者std::cin这样使用cin。

#include<iostream>

//部分展开std中的一部分
using  std::cout;
using  std::endl;

int main()
{
	int a;
	//std::cin也可以用cin
	std::cin >> a;
	cout << "hello world!"<<endl;
}

下面要将的才是重点:

🍩2.缺省参数函数:

缺省参数的概念:

缺省参数是 声明或定义 函数时为函数的参数指定一个缺省值。在调用该函数时,如果没有指定实参则采用该 形参的缺省值 否则使用指定的实参
这里需要注意的就是,缺省值,我们在要么定义函数的时候指定,要么在声明的时候指定。
看看下面的函数就能理解缺省参数:
#include<iostream>

using namespace std;

void print(int year = 2024, int month = 6, int day = 6)
{
	cout << year << "-" << month << "-" << day << endl;
}
int main()
{
	print();
	print(1);
	print(1, 1);
	print(1, 1,1);
}

正常情况下,我们定义定义函数的时候,我们不会在形参后面加上一个特定的值,但是在缺省函数中,我们可以加一个特定的值。如果我们没有指定实参,我们就采用形参的缺省值。


缺省参数的分类:

1.全缺省参数:所以的形参都有一个缺省值。

2.半缺省参数:不是缺省一半,是一部分,除了全缺省参数,其他的都是半缺省参数。

注意:

🥮1.半缺省的方向只能从右到左,也不能隔这给:

以上面的例子为例,如果我们只半缺省:

void print(int year , int month, int day);

void print(int year=2024, int month = 6, int day)
{
    cout << year << "-" << month << "-" << day << endl;
}

当我们在调用print函数,并且值传一个参数时:print(6);

这时候就会有歧义了,到底传过来的6是给year,还是给day呢。传给year是因为传递的顺序是从左到右。穿给day是因为day没有缺省值,其他两个都有。所以这样是不行的

2.上面也提到过的,缺省参数值不能再函数声明和定义中同时出现,要么在函数声明中出现,要么在函数定义中出现。

#include<iostream>

using namespace std;

void print(int year , int month, int day);

//在声明中给缺省值
void print(int year=2024, int month = 6, int day=6)
{
	cout << year << "-" << month << "-" << day << endl;
}

int main()
{
	print(1);
	print(1);
	print(1, 1);
	print(1, 1,1);
}

3.C语言不支持缺省参数。

4.缺省值必须是常量,或者全局变量。

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

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

相关文章

手上3个offer怎么选,深信服的技服、奇安信的安全服务、绿盟的渗透工程师

我是一个应届生&#xff0c;目前手上收到了3个offer比较纠结选哪个&#xff1f; 1、深信服技术服务工程师&#xff0c;base 西安&#xff0c;月薪 14k 据说还有些异地补助 2、奇安信安全服务工程师&#xff0c;base 重庆&#xff0c;月薪 12k 3、绿盟科技的渗透工程师&#…

轻松掌握PDF文本内容修改技巧,让文档编辑更高效便捷,职场工作从此得心应手!

在快节奏的职场生活中&#xff0c;PDF文档已经成为我们工作中不可或缺的一部分。然而&#xff0c;如何高效、便捷地修改PDF文本内容&#xff0c;一直是许多职场人士头疼的问题。今天&#xff0c;就让我来为你介绍一款神奇的编辑工具——首助编辑高手&#xff0c;它将帮助你轻松…

http://app.hrss.xm.gov.cn/xmggfw/index

厦门市人力资源和社会保障局 厦门市国际职业资格比照认定职称审批表

【Cesium4UE】使用问题及解法统计

本期作者&#xff1a;尼克 易知微3D引擎技术负责人 1.加载3dtiles模型很慢 1.3dtiles是否做了重建顶层处理。如果3dtiles的tiles块太多使用CesiumLab重建顶层。 2.将3dtiles模型放置到固态硬盘中 3.如果有多块3dtiles&#xff0c;考虑使用CesiumLab合并3dtiles处理 4.如果不需…

14本剔除!Scopus目录第四次更新,Hindawi期刊再次上榜

【SciencePub学术】近期&#xff0c;Scopus数据库迎来本年度第四次更新&#xff01;此次更新后&#xff0c;有89本期刊发生变动&#xff1a; 变动详情 •【新增】75本新增期刊进入Scopus数据库 •【剔除】14本期刊被Scopus数据库剔除 目前Scopus 来源出版物列表&#xff08;…

Apple - Image I/O Programming Guide

翻译自&#xff1a;Image I/O Programming Guide&#xff08;更新时间&#xff1a;2016-09-13 https://developer.apple.com/library/archive/documentation/GraphicsImaging/Conceptual/ImageIOGuide/imageio_intro/ikpg_intro.html#//apple_ref/doc/uid/TP40005462 文章目录 …

关于教务排课的那些事

在办学过程中&#xff0c;你是否被如下问题困扰&#xff1f; 1、排课功率低&#xff1a; 为了确保师资资源得到充分利用&#xff0c;教务教师排课要求了解每一个全职和兼职教师&#xff0c;了解每一个人的时刻组织和带班状况&#xff0c;因而在排课的时分需求处理很多的信息&a…

InnoDB存储引擎非常重要的一个机制--MVCC(多版本并发控制)

Mysql是如何实现隔离性的&#xff1f;&#xff08;锁MVCC&#xff09; 隔离性是指一个事务内部的操作以及操作的数据对正在进行的其他事务是隔离的&#xff0c;并发执行的各个事务之间不能相互干扰。隔离性可以防止多个事务并发执行时&#xff0c;可能存在交叉执行导致数据的不…

Sketch语言设置指南:将英文版改成中文版的教程

Sketch版本的转换一直是困扰大家的关键问题。如今UI设计领域的UI设计软件很多&#xff0c;但大部分都是英文版。对于国内英语基础差的设计师来说&#xff0c;使用这样的软件无形中增加了工作量&#xff0c;往往需要在设计编辑的同时查阅翻译。即时设计详细介绍了Sketch英文版如…

夏季高温来袭|危化品如何安全储存?

《危险化学品安全管理条例》第三条 本条例所称危险化学品&#xff0c;是指具有毒害、腐蚀、爆炸、燃烧、助燃等性质&#xff0c;对人体、设施、环境具有危害的剧毒化学品和其他化学品。 随着夏天高温的来袭&#xff0c;炎热的天气对危化品储存威胁巨大&#xff0c;危化品事故也…

3. QGis二次开发项目实践一之解决“无法定位程序输入点“

前言 本章讲述实现本项目实现过程中遇到的QGis二次开发库版本和Qt以及其他动态库的版本匹配问题问题复现 本项目是要作为一个子模块集成到用户的项目中本项目最初的开发环境为QGis3.28+Qt5.15.2,而当时并未问清楚用户开发环境所以交付给用户之后,出现了类似下图的问题 出现该…

m1系列芯片aarch64架构使用docker-compose安装seata

之前看到 DockerHub 上发布了 m1 芯片 aarch64 架构的 seata 镜像, 所以就尝试的安装了下, 亲测可用: 使用该命令查看正在运行的 seata 容器 docker ps | grep seata 一. docker-compose.yml 命令编写 volumes 命令所指定的宿主机映射地址, 需要根据自己的电脑环境更换 环…

windows设置网络共享目录

在一个局域网内的计算机&#xff0c;我们想要共享一些资料&#xff0c;如何操作呢&#xff1f;下面我将用windows系统中的网络共享功能实现。 设置共享目录 首先在一台服务器或者计算机上新建一个文件夹&#xff08;或者直接找一个空的分区&#xff09;作为共享的目录&#x…

神经网络 torch.nn---Non-Linear Activations (ReLU)

ReLU — PyTorch 2.3 documentation torch.nn - PyTorch中文文档 (pytorch-cn.readthedocs.io) 非线性变换的目的 非线性变换的目的是为神经网络引入一些非线性特征&#xff0c;使其训练出一些符合各种曲线或各种特征的模型。 换句话来说&#xff0c;如果模型都是直线特征的…

【云原生】Kubernetes----RBAC用户资源权限

目录 引言 一、Kubernetes安全机制概述 二、认证机制 &#xff08;一&#xff09;认证方式 1.HTTPS证书认证 1.1 证书颁发 1.2 config文件 1.3 认证类型 1.4 Service Account 1.4.1 作用 1.4.2 包含内容 1.4.3 与Secret的关系 2.Bearer Tokens 3.基本认证 三、鉴…

poweroff, reboot流程

poweroff /halt /reboot操作通常由用户空间的systemd或其他初始化系统通过sys_reboot()系统调用触发 sys_reboot() 在内核中定义&#xff0c;通常位于kernel/reboot.c文件中。当传递特定的magic值如 LINUX_REBOOT_CMD_POWER_OFF时&#xff0c;内核会执行关机并尝试触发硬件层面…

修改缓存供应商--EhCache

除了我们默认的缓存形式simlpe之外, 我们其实还有许多其他种类的缓存供应 Ehcache就是其中的一种形式 Ehcache在SpringBoot当中的使用: 其实跟我们之前整合第三方的资源是一样的形式 1>导入依赖: <!-- 更换缓存, 将默认使用的 Simple 更换为Ehcache--> <depe…

低代码专题 | 低代码开发平台一般都有哪些功能和模块?

在上一篇文章中&#xff0c;我们已经对低代码开发平台的概念进行了初步的探讨&#xff0c;认识到了低代码开发平台提高开发效率、降低技术门槛方面的巨大潜力。 然而&#xff0c;要真正掌握并应用低代码开发平台&#xff0c;还需要深入了解其背后的功能与模块构成。这篇就对低…

从零开始:如何用Electron将chatgpt-plus.top 打包成EXE文件

文章目录 从零开始&#xff1a;如何用Electron将chatgpt-plus.top 打包成EXE文件准备工作&#xff1a;Node.js和npm国内镜像加速下载初始化你的Electron项目创建你的Electron应用运行你的Electron应用为你的应用设置图标打包成EXE文件结语 从零开始&#xff1a;如何用Electron将…

Linux进程间通信之管道

进程间通信介绍&#xff1a; 进程间通信的概念&#xff1a; 进程间通信简称IPC&#xff08;Interprocess communication&#xff09;&#xff0c;进程间通信就是在不同进程之间传播或交换信息。 进程间通信的目的&#xff1a; 数据传输&#xff1a; 一个进程需要将它的数据…