C++的流提取(>>)(输入) 流插入(<<)(输出)

什么是输入和输出流

流提取(<<)(输入)

  • 理解:我们可以理解为,输入到io流里面,比如是cin,然后从输入流中读取数据

流插入(<<)(输出)

  • 理解:我们可以理解把数据插入到io流里面,比如是cout,然后通过这个流将数据输出到屏幕或其他输出设备。

C++输入流和输出流的优点

  1. 类型安全C++的I/O流机制可以自动识别变量类型(不需要写整形,字节这样的类型),从而提供类型安全。这意味着编译器会在编译时检查类型不匹配错误,而C语言中的 printfscanf 系列函数在运行时才检查类型,容易导致运行时错误。

  2. 可读性:C++的流式I/O操作符 <<>> 提供了直观的语法,使得代码易于阅读和编写。与C语言的格式化字符串相比,C++的I/O操作符更易于理解。

  3. 易于使用C++的I/O机制使用起来更简单,不需要记住复杂的格式化字符串。对于基本数据类型,直接使用 <<>> 即可完成输入输出。

  4. 扩展性C++的I/O流库可以很容易地扩展以支持自定义类型的输入输出(自定义类型,使用这个比较方便)。通过运算符重载,可以为自定义类型定义 <<>> 运算符,从而实现自定义类型的输入输出。

  5. 面向对象:C++的I/O流库是基于面向对象设计的,std::istreamstd::ostream 是从这些类派生的。这种设计使得I/O操作可以与面向对象的程序设计方法无缝集成。

  6. 本地化支持:C++的I/O流库支持本地化

  7. 异常处理:C++的I/O操作可以抛出异常,这使得错误处理更加灵活和强大。而C语言的I/O操作通常只是返回一个错误码。

  8. 缓冲管理C++的I/O流库自动管理缓冲区,开发者不需要手动刷新缓冲区。例如,std::endl 不仅插入一个换行符,还刷新了输出缓冲区,而C语言中的 \n 仅插入换行符。

注意事项

  • 一般情况下我们可以 using namespace std,实际项目开发中不建议 using namespace std,因为可能导致冲突
  • 这里我们没有包含 <stdio.h>,也可以使用 printf 和 scanf,在包含 <iostream> 后间接包含了。VS 系列编译器是这样的,其他编译器可能会报错。

C++输入流和输出流的使用

流提取(<<)(输入)

  • 操作:使用 >> 操作符,你可以从 std::cin 中读取不同类型的数据,如整数、浮点数、字符、字符串等。
  • 理解:我们可以理解为,输入到io流里面,比如是cin,然后从输入流中读取数据
  • 例子
#include<iostream>//头文件
int number;
std::cin >> number; // 从标准输入读取一个整数

流插入(<<)(输出)

  • 操作:使用 << 操作符,你可以向 std::cout 中写入数据,如文本、变量的值等。
  • 理解:我们可以理解把数据插入到io流里面,比如是cout,然后通过这个流将数据输出到屏幕或其他输出设备。
  • 例子
#include<iostream>//头文件
int number = 42;
std::cout << number << std::endl; // 向标准输出写入一个整数和一个换行符

std::endl

std::endl 是一个操纵符,用于向输出流中插入一个换行符,并刷新输出流。它通常与流插入操作符 << 一起使用。

  • 操作:当你向 std::cout 使用 std::endl 时,它会输出一个换行符,并将输出流缓冲区的内容刷新到标准输出设备。
std::cout << "Hello, World!" << std::endl; // 输出文本并换行

关系

  • std::cin 使用流提取操作符 >> 来从输入流中读取数据。
  • std::cout 使用流插入操作符 << 来向输出流中写入数据。
  • std::endl 通常与 std::cout 一起使用,用于在输出后添加换行并刷新输出流。

命名空间的展开( using namespace std

在C++中,命名空间(namespace)是一种封装全局标识符(如变量名、函数名、类名等)的方式,以防止不同代码库中的同名标识符发生冲突。std 是C++标准库的命名空间,它包含了标准库中的所有实体。(简单说就是,std::coutstd::cinstd::endl 都是 std 命名空间中定义的,你不想去域里面访问,直接取消就可以)

代码

//代码不展开
#include<iostream>//头文件
int main()
{//代码不展开std::cout << "why" << std::endl;//打印出来whyreturn 0;
}//代码展开
#include<iostream>//头文件
using namespace std;//取消空间的折叠
int main()
{cout << "why" << endl;//打印出来whyreturn 0;
}

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

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

相关文章

直播相关02-录制麦克风声音,QT 信号与槽,自定义信号和槽

一 信号与槽函数 #include "mainwindow.h" #include <QPushButton> #include <iostream> using namespace std;//我们的目的是在 window中加入一个button&#xff0c;当点击这个button后&#xff0c;关闭 MainWindow 。 MainWindow::MainWindow(QWidget …

828华为云征文 | 华为云Flexus X实例上实现Docker容器的实时监控与可视化分析

前言 华为云Flexus X&#xff0c;以顶尖算力与智能调度&#xff0c;引领Docker容器管理新风尚。828企业上云节之际&#xff0c;Flexus X携手前沿技术&#xff0c;实现容器运行的实时监控与数据可视化&#xff0c;让管理变得直观高效。无论是性能瓶颈的精准定位&#xff0c;还是…

TS 常用类型

我们经常说TypeScript是JavaScript的一个超级 TypeScript 常用类型 TypeScript 是 JS 的超集&#xff0c;TS 提供了 JS 的所有功能&#xff0c;并且额外的增加了&#xff1a;类型系统 所有的 JS 代码都是 TS 代码 JS 有类型&#xff08;比如&#xff0c;number/string 等&…

客厅无主灯设计:灯位布局与灯光灯具的和谐搭配

在现代家居设计中&#xff0c;客厅作为家庭活动的中心区域&#xff0c;其照明设计的重要性不言而喻。无主灯设计以其灵活多变、氛围营造独特的优势&#xff0c;逐渐成为客厅照明的热门选择。然而&#xff0c;如何合理规划灯位布局&#xff0c;并科学搭配灯光与灯具&#xff0c;…

基于java+springboot+vue实现的林业产品推荐系统(文末源码+Lw)135

基于SpringBootVue的实现的林业产品推荐系统&#xff08;源码数据库万字Lun文流程图ER图结构图演示视频软件包&#xff09; 系统功能&#xff1a; 林业产品推荐系统是在MySQL中建立数据表保存信息&#xff0c;运用SpringBoot框架和Java语言编写。 并按照软件设计开发流程进行…

ICETEK-DM6437-AICOM—— DMA直接存储器访问设计

#一、设计目的&#xff1a; 1 进一步了解 ICETEK-DM6437-AF 的内部存储器空间的分配及指令寻址方式&#xff1a; 内部存储器空间分配&#xff1a;研究 ICETEK-DM6437-AF 的存储器架构&#xff0c;包括但不限于片内 SRAM、片外 DRAM 和其他存储器模块。了解这些存储器的大小、起…

k8s 资源管理

文章目录 ResourceQuota什么是资源配额定义一个ResourceQuotaResourceQuota的使用 LimitRangeLimitRange的用途示例1&#xff1a;配置默认的requests和limits示例2&#xff1a;配置requests和limits的范围 QoS什么是服务质量保证示例1&#xff1a;实现QoS为Guaranteed的Pod示例…

优化安防视频监控的关键体验:视频质量诊断技术如何应用在监控系统中?

随着科技的不断进步&#xff0c;视频监控平台在公安、司法、教育、基础设施等众多领域得到了广泛应用。然而&#xff0c;视频图像的质量直接关系到监控系统的应用效果&#xff0c;是反映监控系统运维效果的重要指标之一。因此&#xff0c;视频监控平台需要配备一系列先进的视频…

Active Neural SLAM 复现记录

Active Neural SLAM 复现记录 创建虚拟环境安装habitat-sim安装habitat-api安装Pytorch配置项目准备数据先搞Gibson场景数据再搞pointnav任务数据创建软链接 测试训练 创建虚拟环境 conda create -n AVSLAM python3.10 conda activate AVSLAM安装habitat-sim git clone https…

存储课程学习笔记8_spdk的安装以及简单demo测试

已经对相关的基础概念有一定的了解&#xff0c;比如裸盘&#xff0c;文件系统&#xff0c;读写相关裸盘&#xff0c;裸盘挂载使用&#xff0c;内核插入文件系统的方式&#xff0c;相关操作io的库或者函数&#xff08;io_uring, readv&#xff0c;writev, mmap等&#xff09;&am…

nlohmann::json中有中文时调用dump转string抛出异常的问题

问题描述 Winodows下C开发想使用一个json库&#xff0c;使用的nlohmann::json&#xff0c;但是遇到json中使用中文时&#xff0c;转成string&#xff0c;会抛出异常。 nlohmann::json contentJson;contentJson["chinese"] "哈哈哈";std::string test con…

前端算法(持续更新)

1、最大的钻石 1楼到n楼的每层电梯口都放着一个钻石&#xff0c;钻石大小不一。你从电梯1楼到n楼&#xff0c;每层楼电梯门都会打开一次&#xff0c;只能拿一次钻石&#xff0c;问怎样才能最大的钻石&#xff1f; 解题思路&#xff1a; 这是一个经典的动态规划问题&#xff…

让人眼前一亮的软件测试简历,收不到面试邀请算我输

不知道大家的简历是不是都写成下面这样 根据需求文档进行需求分析 熟悉业务流程&#xff0c;明确测试点 根据测试点设计测试用例 参与评审测试用例 提交和回归跟踪缺陷&#xff0c;确认修复完成之后关闭Bug 通过使用Fiddler进行抓包分析并定位前后端Bug 使用简单的SQL语…

git一个项目关联多个远程仓库

一行代码就行&#xff1a; git remote set-url origin [想要关联的远程仓库地址]想要关联哪个就切换哪个 或者不用每次切换&#xff0c;集中管理&#xff1a; Git->Manage Remotes 点击“”&#xff0c;填入Name和想要关联的远程库地址 每次push时执行命令 git push [为…

美团OC感想

OC感想 晚上十点拿到美团意向了 到家事业部。&#xff0c;日常实习没过&#xff0c;暑期实习没过&#xff0c;秋招终于意向了&#xff0c;晚上十点发的&#xff0c;整整激动到一点才睡着&#xff0c;不仅因为这是秋招的第一个意向&#xff0c;更因为这是我一直心心念念想去的地…

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录 [web][极客大挑战 2019]Http 考点&#xff1a;Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点&#xff1a;弱密码字典爆破 四种方法&#xff1a; [web][极客大挑战 2019]Http 考点&#xff1a;Referer协议、UA协议、X-Forwarded-For协议 访问…

五款知名国内外OA系统厂商盘点,优缺点一目了然!

本文将推荐五款知名的OA系统&#xff0c;助力企业选型&#xff01; OA 系统就像是企业办公的智慧枢纽。它整合了流程审批、文档管理、沟通协作等多种功能&#xff0c;让企业的日常办公更加高效有序。就好比一个多功能的办公工具箱&#xff0c;为企业提供各种实用的工具。 然而…

研1日记9

1.理解conv1d和conv2d a. 1和2处理的数据不同&#xff0c;1维数据和图像 b. 例如x输入形状为(32,19,512)时&#xff0c;卷积公式是针对512的&#xff0c;而19应该变换为参数中指定的输出通道。 2.“SE块”&#xff08;Squeeze-and-Excitation Block&#xff09;它可以帮助模…

jenkins工具的介绍和gitlab安装

使用方式 替代手动&#xff0c;自动化拉取、集成、构建、测试&#xff1b;是CI/CD持续集成、持续部署主流开发模式中重要工具&#xff1b;必须组件 jenkins-gitlab&#xff0c;代码公共仓库服务器&#xff08;至少6G内存&#xff09;&#xff1b;jenkins-server&#xff0c;需…

无人机视角-道路目标检测数据集 航拍 8600张 voc yolo

数据集名称&#xff1a; 无人机视角-道路目标检测数据集 数据集规模&#xff1a; 图像数量&#xff1a;8600张拍摄方式&#xff1a;航拍&#xff08;使用无人机拍摄&#xff09;标注格式&#xff1a;支持VOC和YOLO格式 数据集内容&#xff1a; 该数据集由无人机从空中拍摄的…