浅谈 C++的 #include <iostream;

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈 C++的 #include <iostream;相关的知识,希望对你有一定的参考价值。


我们首先来看一下常见的 C++文件。

#include <iostream>

int main()

	std::cout << "Welcome to learn C++" << std::endl;
	std::cin.get();

在大学课程中,我们并没有考虑那么多,也很少(几乎没有)老师为我们解答 #include <iostream> 的真正意义。 通过运行,我们可以很清楚的知道,如果没有 #include <iostream> ,程序就会报错。


进入正题,今天我们就来着重讲解一下 #include <iostream> 弥补一下大学时的缺憾。

这条简单的语句可以分为以下几个部分:

  1. 符号 #
  2. 预处理指令 include
  3. 文件名 iostream
  4. 尖括号 <>

1. 符号#

在C++中,以 # 开头的被称为预处理(器)指令。或者说,所有的预处理(器)指令都是以 # 开头的。

2. 预处理指令include

在真正讲解之前,我们首先要了解一下预处理(器)指令。 我们知道C++是C语言的超集,预处理其实就是C++从C语言里继承而来的一个功能。预处理(器)指令:指示编译器在实际编译之前所需完成的预处理。

include是最为常见的预处理指令,主要是作为文件的引用(通俗来讲,include 它需要找到一个文件,然后将该文件的所有内容拷贝到现在的程序内)。 为了便于大家理解,这里做一个Demo演示一下。

// new 一个头文件: endBrace.h. 这里仅仅忙一个大括号的一端。
 
// new 一个cpp文件:Test.cpp

#include <iostream>

int sum(int a, int b)

   return a + b;
#include <endBrace.h> // 注意这里

然后通过运行命令:

顺利编译通过。

此时我们直白的理解了预处理(器)指令include的作用:

3. 文件名 iostream

了解C编程语言的同学都知道扩展名,但是这个文件为什么没有呢?惊不惊喜,意不意外,大学的时候咋就没注意呢?

3.1 iostream为什么没有扩展名呢?

先说结论:网吧的屁股————规定 C++标准委员会那帮老头这么干主要是:

3.2 iostream的作用

我们都知道它是标准输入/输出流。 这里给出个iostream的概要,相信大家都能看懂(看懂了别忘了评论区告诉我一下)

/*
    iostream synopsis

#include <ios>
#include <istream> // 输入流
#include <ostream> // 输出流
#include <streambuf> // buffer

namespace std 

extern istream cin;
extern ostream cout;
extern ostream cerr;
extern ostream clog;
extern wistream wcin;
extern wostream wcout;
extern wostream wcerr;
extern wostream wclog;

  

4. 尖括号<>

在实际开发中,我们还见过双引号("")的用法,那么尖括号<>和双引号("")的区别是什么呢?

So,我们也可以写成下面的样子(不推荐),反之不成立:

//#include <iostream>

#include "iostream"

就这一句话,写了这么多。C++真是老当益壮,吾自老而弥坚。晚安!!!

以上是关于浅谈 C++的 #include <iostream;的主要内容,如果未能解决你的问题,请参考以下文章

c++[001]

浅谈 C++之 STL

C++ 静态工厂构造函数

POJ-2155-Matrix二位树状数组应用

C++程序正向编译逆向反编译

Gdi+ 多台显示器截图