C++系列-输入输出

🌈个人主页:羽晨同学

💫个人格言:"成为自己未来的主人~"

C++输入和输出

我们都知道C语言的输出是用printf函数来实现的,那么C++呢,它的实现逻辑是什么呢,让我们一起来看一下,

cpp 复制代码
#include<iostream>
//std是C++标准库的命名空间名,C++将标准库的定义实现都放到这个命名空间中
using namespace std;
int main()
{
	cout << "hello world" << endl;
	return 0;
}

说明:

  1. 使用cout标准输出对象(控制台)和cin标准输入对象(键盘)时,必须包含<iostream>头文件以及按命名空间使用方法使用std
  2. cout和cin是全局的流对象,endl是特殊的C++符号,表示换行输出,他们都包含在包含<iostream>头文件当中
  3. <<是流插入运算符,>>是流提取运算符
  4. 使用C++输入输出更方便,不需要像printf/scanf输入输出时那样,需要手动控制格式,C++的输入输出可以自动识别变量类型
  5. 实际上cout和cin分别是iostream和istream类型的对象,>>和<<也涉及运算符重载等知识,这些知识我们后续才会学习,

注意:早期标准库将所有功能在全局域中实现,声明在.h后缀的头文件中,使用时只需要包含对应的头文件就可以,后来将其实现在std命名空间下,为了和c头文件分开,也为了正确使用命名空间,规定C++头文件不带.h,旧编译器中还支持<iostream.h>格式,后续编译器已经不再支持,因此推荐使用<iostream>+std的格式

cpp 复制代码
#include<iostream>
using namespace std;
int main()
{
	int a;
	double b;
	char c;
	cin >> a;
	cin >> b >> c;
	cout << a << endl;
	cout << b << " " << c << endl;

	return 0;
}

std命名空间的使用惯例

std是C++标准库的命名空间,如何展开std使用更合理呢?

  1. 在日常练习中,建议直接using namespace std即可,这样就很方便
  2. using namespace std展开,标准库就全部暴露出来了,如果我们定义跟库重名的类型/对象/函数,就存在冲突问题,该问题在日常练习当中很少出现,但是项目开发中代码较多,规模大,很容易出现,所以建议在项目开发中使用,像std::cout这样使用时指定命名空间+using std::cout展开常用的库对象/类型等方式。
相关推荐
海的透彻9 分钟前
dockerfile如何快速构建容器(java服务)
java·开发语言
code2cat22 分钟前
Java工具篇之Gradle:用任务图组织构建与交付
java·开发语言·单元测试·gradle
北京中科新远科技27 分钟前
高速交换机端口预算怎么做?下行、上联、拆分和冗余计算框架
开发语言·php
xiaoye-duck1 小时前
《C++ 项目:手写大模型接入 SDK》DeepSeek接口设计(下):流式响应实现和测试
开发语言·网络·c++·语言模型
AI源码2 小时前
基于 Python 的短视频用户行为分析系统
开发语言·python
旖旎夜光2 小时前
【C++ 基础入门】类和对象(上):封装、对象模型与 this 指针
开发语言·c++·笔记·学习
揽星河..2 小时前
【C语言】结构体
c语言·开发语言
2601_966949653 小时前
如何封装 qd.klines.batch(),让批量 K 线查询函数在多个策略中复用?
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
小超人诞生日记3 小时前
C++ 智能指针的使用及其原理详解
c++·算法
神仙别闹4 小时前
基于Python实现英词语自动对齐系统
开发语言·python