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展开常用的库对象/类型等方式。
相关推荐
JAVA面经实录9176 小时前
Java企业级工程化·终极完整版背诵手册(无遗漏、全覆盖、面试+落地通用)
java·开发语言·面试
王老师青少年编程6 小时前
csp信奥赛C++高频考点专项训练之贪心算法 --【哈夫曼贪心】:合并果子
c++·算法·贪心·csp·信奥赛·哈夫曼贪心·合并果子
周杰伦fans7 小时前
AutoCAD .NET 二次开发:深入理解 EntityJig 的工作原理与正确实现
开发语言·.net
叼烟扛炮7 小时前
C++第二讲:类和对象(上)
数据结构·c++·算法·类和对象·struct·实例化
样例过了就是过了8 小时前
LeetCode热题100 最长公共子序列
c++·算法·leetcode·动态规划
Bat U9 小时前
JavaEE|多线程初阶(七)
java·开发语言
谭欣辰9 小时前
C++ 排列组合完整指南
开发语言·c++·算法
橙子也要努力变强9 小时前
信号捕捉底层机制-机理篇2
linux·服务器·c++
foundbug99910 小时前
自适应滤除直达波干扰的MATLAB实现
开发语言·算法·matlab