【C++】输入输出缺省参数

news2024/11/28 17:38:36

大家好,我是苏貝,本篇博客带大家了解C++的缺省参数,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️
在这里插入图片描述


目录

  • 一. 输入&输出
  • 二. 缺省参数
    • 1 缺省参数概念
    • 2 缺省参数分类
      • a. 全缺省参数
      • b. 半缺省参数

一. 输入&输出

新生婴儿会以自己独特的方式向这个崭新的世界打招呼,C++刚出来后,也算是一个新事物,那C++是否也应该向这个美好的世界来声问候呢?我们来看下C++是如何来实现问候的

#include<iostream>
using  namespace std;

int main()
{
	cout << "hello c++" << endl;

	int i = 0;
	std::cin >> i;
	cout << i << endl;

	return 0;
}

1:使用cout标准输出对象(控制台)和cin标准输入对象(键盘)时,必须包含< iostream >头文件以及按命名空间使用方法使用std。
2:std是C++标准库的命名空间名,C++将标准库的定义实现都放到这个命名空间中
3:cout和cin是全局的流对象,endl是特殊的C++符号,表示换行输出,他们都包含在包含< iostream >头文件中。
4:<<是流插入运算符,>>是流提取运算符

对<<和>>做出解释:
在C语言阶段,我们也见过这两个符号,它们分别代表左移和右移。

<<:

#include<iostream>
using namespace std;

int main()
{
	//1.左移
	int i = 1;
	i <<= 1;

	//2.流插入运算符
	cout << i << endl;

	return 0;
}

在这里插入图片描述

符号>>

#include<iostream>
using namespace std;

int main()
{
	//1.右移
	int i = 10;
	i >>= 1;
	cout << i << endl;

	//2.流提取运算符
	int j = 0;
	cin >> j;
	cout << "j=" << j << endl;

	return 0;
}

在这里插入图片描述

使用C++输入输出更方便,不需要像printf/scanf输入输出时那样,需要手动控制格式。 C++的输入输出可以自动识别变量类型。

#include<iostream>
using namespace std;

int main()
{
	//1.流插入
	int i = 10;
	char c = 'a';
	const char* str = "hello world";
	cout << i << c << str << endl;

	//2.流插入
	cin >> i >> c;
	cout << i << c << str << endl;

	return 0;
}

在这里插入图片描述

二. 缺省参数

1 缺省参数概念

缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时,如果没有指定实 参则采用该形参的缺省值,否则使用指定的实参。

#include<iostream>
using namespace std;

void Fuc(int a = 0)
{
	cout << a << endl;
}

int main()
{
	Fuc(2);//传参时,使用实参
	Fuc();//没有参数时,使用参数的默认值

	return 0;
}

在这里插入图片描述

2 缺省参数分类

a. 全缺省参数

全缺省参数指函数的每个参数都设立了缺省值

#include<iostream>
using namespace std;

void Fuc(int a = 0, int b = 1, int c = 2)
{
	cout << "a=" << a << endl;
	cout << "b=" << b << endl;
	cout << "c=" << c << endl << endl;
}

int main()
{
	Fuc(4, 5, 6);
	Fuc(4, 5);
	Fuc(4);
	Fuc();

	return 0;
}

在这里插入图片描述

b. 半缺省参数

半缺省参数指函数的部分参数被设立了缺省值,且缺省值必须从右往左依次给,不能间隔着给

#include<iostream>
using namespace std;

void Fuc(int a , int b = 1, int c = 2)
{
	cout << "a=" << a << endl;
	cout << "b=" << b << endl;
	cout << "c=" << c << endl << endl;
}

int main()
{
	Fuc(4, 5, 6);
	Fuc(4, 5);
	Fuc(4);

	return 0;
}

在这里插入图片描述

注意:

  1. 缺省参数不能在函数声明和定义中同时出现,因为如果声明和定义中都给了缺省值,但缺省值不同,那编译器就不知道该听谁的。如果要给,就是在声明的时候给
  2. 缺省值必须是常量或者全局变量
  3. C语言不支持缺省参数

好了,那么本篇博客就到此结束了,如果你觉得本篇博客对你有些帮助,可以给个大大的赞👍吗,感谢看到这里,我们下篇博客见❤️

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

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

相关文章

Top4免费音频剪辑软件大比拼,2024年你选哪一款?

现在我们生活在一个数字化的时代&#xff0c;音频内容对我们来说很重要。不管是给自己拍的视频配背景音乐、整理开会时的录音&#xff0c;还是自己写歌&#xff0c;有个好用的音频剪辑软件都特别重要。今天&#xff0c;我要给大家介绍几款特别好用的音频剪辑软件免费的&#xf…

Vue82 路由器的两种工作模式 以及 node express 部署前端

笔记 对于一个url来说&#xff0c;什么是hash值&#xff1f;—— #及其后面的内容就是hash值。hash值不会包含在 HTTP 请求中&#xff0c;即&#xff1a;hash值不会带给服务器。hash模式&#xff1a; 地址中永远带着#号&#xff0c;不美观 。若以后将地址通过第三方手机app分享…

教育技术革新:SpringBoot在线教育系统开发

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理微服务在线教育系统的相关信息成为必然。开…

【性能测试】使用JMeter性能工具做测试的基本过程及案例分析

前言 通过精心设计的性能测试&#xff0c;我们不仅能够了解服务端的综合效能与承载极限&#xff0c;更能前瞻性地评估现有业务架构在面对当前运营需求及未来业务扩张时的适应性与弹性&#xff0c;从而精准规划服务配置的优化路径。 使用jmeter一般用于以下两种类型的性能测试…

Dart基础入门

Dart 是一种由 Google 开发的开源编程语言&#xff0c;它可以用来构建服务器、Web 应用和移动应用。Dart 语言设计得既现代化又易于学习&#xff0c;它支持面向对象编程&#xff08;OOP&#xff09;、函数式编程风格&#xff0c;并且具有类似于 Java 或 C# 的语法。Dart 语言和…

性能测试学习2:常见的性能测试策略(基准测试/负载测试/稳定性测试/压力测试/并发测试)

一.基准测试 1&#xff09;概念 狭义上讲&#xff1a;就是单用户测试。测试环境确定后&#xff0c;对业务模型中的重要业务做单独的测试&#xff0c;获取单用户运行时的各项性能指标。 广义上&#xff1a;是一种测量和评估软件性能指标的活动。可以在某个时刻通过基准测试建立…

[MASM] masm32的下载及详细安装使用过程(附有下载文件)

目录 下载 配置环境 编译 链接 masm的安装和环境配置 下载链接在文末 下载 下载安装包后复制到虚拟机win7系统的桌面 win7安装到虚拟机的步骤&#xff1a; [win7] win7系统的下载及在虚拟机中详细安装过程&#xff08;附有下载文件&#xff09;-CSDN博客 双击压缩包&…

微信消息转发(微信消息转发方案的取舍)

机构可能会有很多的粉丝群&#xff0c;老师有很多家长群&#xff0c;比如发送通知 如果一个个的群发送那么就很繁琐。所以就有一键群发的需求。只需要在一个群发送内容主动同步到其他群。 微信消息转发方案取舍 方案1. 因为微信有本地数据库SQLite&#xff0c; 消息会保存到本…

Redis安装RedisBloom插件

Redis安装RedisBloom插件 1. 下载RedisBloom2. 安装RedisBloom3. Redis 安装RedisBloom4. 验证是否安装成功5. 其他安装方法5.1 使用 Docker 安装 RedisBloom5.2 通过 RedisStack 安装 RedisBloom 是一个 Redis 模块&#xff0c;它提供了一种高效的方式来存储和检索大数据集中的…

频繁full gc问题排查及解决

为什么我们要对频繁full gc的情况进行处理---》频繁full gc会导致stw&#xff0c;影响用户体验。 &#xff08;1&#xff09;先进行问题的排查 如果频繁full gc 会报警&#xff0c;公司有自己的监控平台&#xff0c;可以查看full gc的情况 如果公司没有自己的监控平台&#…

爬虫案例——爬取情话网数据

需求&#xff1a; 1.爬取情话网站中表白里面的所有句子&#xff08;表白词_表白的话_表白句子情话大全_情话网&#xff09; 2.利用XPath来进行解析 3.使用面向对象形发请求——创建一个类 4.将爬取下来的数据保存在数据库中 写出对应解析语法 //div[class"box labelbo…

【实战篇】自增主键为什么不是连续的?

背景 由于自增主键可以让主键索引尽量地保持递增顺序插入&#xff0c;避免了页分裂&#xff0c;因此索引更紧凑。 之前我见过有的业务设计依赖于自增主键的连续性&#xff0c;也就是说&#xff0c;这个设计假设自增主键是连续的。但实际上&#xff0c;这样的假设是错的&#…

Linux高阶——Github本地仓库与云端仓库关联

1、安装代理软件 steam 选择Github和系统代理模式&#xff0c;一键加速即可 2、 安装Git 3、访问Github网站&#xff0c;创建新用户 4、Github探索 &#xff08;1&#xff09;Explore探索标签 &#xff08;2&#xff09;工程结构 用户名/仓库名 自述文件&#xff0c;用markdo…

C语言复习概要(三)

本文 使用Visual Studio进行调试的技巧与函数递归详解1. 引言2. Visual Studio 调试技巧2.1. 断点的使用2.1.1. 基本断点示例&#xff1a;设置基本断点 2.1.2. 条件断点示例&#xff1a;条件断点 2.2. 逐步执行代码示例&#xff1a;逐步执行代码 2.3. 监视变量使用监视窗口 2.4…

希捷8T硬盘exfat变0字节的恢复方法

最近流行的3.5寸大容量台式硬盘移动盒子是一种性价比较高的组合&#xff0c;为了方便如涉及到跨平台&#xff08;win和mac&#xff09;&#xff0c;大多数此类组合选择了exfat文件系统。下边这个案例就是我们经常遇到的exfat变0字节。 故障存储: ST8000HKVS002 8T/exfat 文件…

STM32F407 HAL库单通道ADC采集并串口打印电压值

本文将介绍如何使用STM32F407的HAL库实现单通道ADC采集&#xff0c;并通过串口将采集到的电压值打印出来。具体地&#xff0c;我们将使用ADC1读取通道5&#xff08;对应引脚PA5&#xff09;&#xff0c;并将转换后的电压值用串口1发送到串口助手上进行显示。 一、开发环境 硬件…

类和对象的学习1

类和对象的学习1 [TOC](类和对象的学习1一、类的定义1.类定义格式2.访问限定符 二、实例对象1.实例3.对象大小4. this指针5.⾯向对象三⼤特性“封装、继承、多态”中的封装) 一、类的定义 1.类定义格式 1.1 class为定义类的关键字&#xff0c;Stack为类的名字&#xff0c;{}中…

第十五周周报

目录 摘要Abstract1 LSTM模型实战1.1 数据处理1.2 LSTM模型的搭建1.3 数据的预测和可视化 2 transformer&#xff08;上&#xff09;2.1 Transformer 结构2.2 Transformer 编码器 总结 摘要 本周的工作内容主要分为两个部分&#xff0c;第一部分是使用LSTM模型预测股票市场数据…

Python(八)-异常

目录 什么是异常 快速入门异常 常见的异常类型 常见处理方式 捕获一个指定异常 捕获多个异常 捕获所有的异常 异常的其他关键字 异常具有传递性 什么是异常 异常指的是Python程序发生的不正常事件。 有时候&#xff0c;异常可称为错误。 当检测到一个错误时&#x…

CPU飙高如何处理?

测试人员在压测的时候&#xff0c;会对应用进行测试&#xff0c;这个时候会查看cpu、内存、load、rt、qps等指标 CPU利用率是来描述CPU的使用情况的&#xff0c;表明了一段时间内CPU被占用的情况。使用率越高&#xff0c;说明机器在这个时间上运行了很多程序。 如何进行问题定…