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展开常用的库对象/类型等方式。
相关推荐
一点媛艺3 小时前
Kotlin函数由易到难
开发语言·python·kotlin
姑苏风3 小时前
《Kotlin实战》-附录
android·开发语言·kotlin
奋斗的小花生4 小时前
c++ 多态性
开发语言·c++
魔道不误砍柴功4 小时前
Java 中如何巧妙应用 Function 让方法复用性更强
java·开发语言·python
闲晨4 小时前
C++ 继承:代码传承的魔法棒,开启奇幻编程之旅
java·c语言·开发语言·c++·经验分享
老猿讲编程5 小时前
一个例子来说明Ada语言的实时性支持
开发语言·ada
UestcXiye6 小时前
《TCP/IP网络编程》学习笔记 | Chapter 3:地址族与数据序列
c++·计算机网络·ip·tcp
Chrikk6 小时前
Go-性能调优实战案例
开发语言·后端·golang
幼儿园老大*6 小时前
Go的环境搭建以及GoLand安装教程
开发语言·经验分享·后端·golang·go
canyuemanyue6 小时前
go语言连续监控事件并回调处理
开发语言·后端·golang