`
lilin1030id
  • 浏览: 3231 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
最近访客 更多访客>>
社区版块
存档分类
最新评论

有了using namespace std,为什么还要有#include<iostream>?

阅读更多

 

在学习标准c++时,说到C++重大改版后,将所有的iostream库中的定义都放入路std命名空间中,那么在写代码时既然有了using namespace std,为什么还要写#include<iostream>?

答:

调用任何函数都需要先声明(同一文件内的函数之间的调用可以不用写类似:int f();这样的声明语句,是因为这里定义即声明),那么声明的方法有两种(我知道的):直接将方法写在调用处的前面,或者用类似#include<iostream>的声明,#include<XXX>是一个宏,在预编译时,通过它将XXX文件中的文本直接复制粘贴到你需要调用的文件中,记住只是简单的文本粘贴。所以在预编译之后,这两种声明的方法最终的结果是一样的(起码在文本上看基本一样作用)。

但是using namespace YYY;可不是这样干的,它不是在预编译阶段处理的,是在编译阶段处理的,不会做简单的文本粘贴处理,这是和include的区别。

 

以上都是作为前提。

既然声明是必不可少的,那么using namespace std 之后为什么还要#include<iostream>?刚才说了,声明是需要写到具体的调用方文件中的,但是using namespace std做不到这点,所以只能用#include<iostream>,但是#include<iostream>的定义是在std命名空间中,所以又必须要using namespace std;

 

 this‘s all!

分享到:
评论

相关推荐

    #include <iostream>

    #include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace std; int main() { int n,i,k=0; cin&gt;&gt;n; for(i=n*n;i&gt;=1;i--) { cout&lt;&lt;setw(5)&lt;&lt;i; k++; if(k%n==0) cout&lt;&lt;endl; } cout&lt;&lt;endl; return 0;

    vc++2008编译不了#include头文件

    1. **更改头文件名称**:将 `#include &lt;iostream.h&gt;` 改为 `#include &lt;iostream&gt;`,这样可以直接访问到 C++ 标准库中的 I/O 相关功能。同时,需要添加 `using namespace std;` 来使用 `std` 命名空间中的函数。 ``...

    c++实现二叉查找树示例

    #include &lt;iostream&gt;#include &lt;cstring&gt;#include &lt;algorithm&gt;#include &lt;cstdio&gt;#include &lt;string&gt; using namespace std; const int M = 10000; //定义数据节点class dNode{public: string name; int age; bool ...

    使用include <iostream>时一定要加using namespace std

    本文将详细探讨为什么在使用`&lt;iostream&gt;`时通常需要添加`using namespace std;`语句,以及这一做法背后的原理和技术细节。 ### C++命名空间概述 在深入讨论之前,首先了解下C++中的命名空间概念。命名空间是C++...

    贪吃蛇 控制台程序

    #include&lt;iostream&gt; #include&lt;time.h&gt; #include&lt;conio.h&gt; #include&lt;windows.h&gt; #include&lt;stdlib.h&gt; using namespace std; struct she //用x,y记录蛇的坐标 { int x; int y; struct she *next; }*tou,*wei; //...

    #include <iostream> #include<iomanip> using namespace std;九九乘法表

    第一次编译

    HuffmanCoding.cpp

    #include&lt;iostream&gt; #include&lt;string&gt; #include&lt;iomanip&gt; using namespace std; struct HNode { int weight; int parent; int LChild; int RChild; }; struct HCode { char data; char code[1000]; }; class...

    string函数

    创建string函数实现部分功能#include&lt;iostream&gt; #include&lt;string&gt; #include &lt;stdlib.h&gt; using namespace std; int n=0,clasp[100][100],id[100],nsclas[100]; string name[100],clas[100],clasname[100][100]; ...

    项目3考试成绩统计.cpp

    #include&lt;iostream&gt; using namespace std; int main(){ int a; cout&lt;&lt;"请输入要查询的月份:"; cin&gt;&gt;a; #include&lt;iostream&gt; using namespace std; int main(){ int a; cout&lt;&lt;"请输入要查询的月份:"; cin&gt;&gt;a;#...

    项目4平面图形计算器.cpp

    #include&lt;iostream&gt; using namespace std; int main(){ int a; cout&lt;&lt;"请输入要查询的月份:"; cin&gt;&gt;a; #include&lt;iostream&gt; using namespace std; int main(){ int a; cout&lt;&lt;"请输入要查询的月份:"; cin&gt;&gt;a;#...

    查询月份c++查询月份c++

    #include&lt;iostream&gt; using namespace std; int main(){ int a; cout&lt;&lt;"请输入要查询的月份:"; cin&gt;&gt;a; #include&lt;iostream&gt; using namespace std; int main(){ int a; cout&lt;&lt;"请输入要查询的月份:"; cin&gt;&gt;a;#...

    项目2计算器.cpp查询月份c++是我用1分钟做出来的只想要大佬们的一点积分 大佬们求求啦!!! 给点积分吧!!! (互三)ht

    #include&lt;iostream&gt; using namespace std; int main(){ int a; cout&lt;&lt;"请输入要查询的月份:"; cin&gt;&gt;a; #include&lt;iostream&gt; using namespace std; int main(){ int a; cout&lt;&lt;"请输入要查询的月份:"; cin&gt;&gt;a;#...

    C 八皇后问题,有注释

    #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;cmath&gt; using namespace std; int n; int **a; int count=0; int place(int i,int j) {//判断i,j这个点是否可以放皇后 for(int k=1;k&lt;=i;k++) { if(a[k][j]=...

    【证件照背景更换】软件

    [Qt]图像处理小软件——给证件照换背景 之前看到码农大佬分享的文章,感觉是个小乐子,就自己动手做了...#include &lt;iostream&gt; using namespace std; #include &lt;opencv.hpp&gt; using namespace cv; public: Widget(QWi

    高仿win10 web os

    高访win10 ui是基于web的一个模拟操作系统。他在里面可以办公提高了很大的效率。 欢迎你们下载。我#include&lt;bits/stdc++.h&gt; ...using namespace std; /*=============== all the structures ===============*/

    c++小游戏猜数字(基础)

    #include &lt;iostream&gt; #include&lt;cmath&gt; using namespace std; #include&lt;cstdlib&gt; #include&lt;ctime&gt; int main(){ srand(time(0)); int a=rand()%(100)+1,b; for(int i=1;i&lt;=6;i++){ cin&gt;&gt;b; if(b&gt;a){ cout&lt;&lt;...

    基于C语言的磁盘调度算法的实现.zip

    2. 实现的磁盘调度算法有 FCFS,SSTF,SCAN,CSCAN 和 NStepSCAN 算法。 3. 设定开始磁道号寻道范围,依据起始扫描磁道号和最大磁道号数,随机产生要进行寻道的磁道号序列。 4. 选择磁盘调度算法,显示该算法的...

    VS实现证件照换背景源码

    [Qt]图像处理小软件——给证件照换背景 之前看到码农大佬分享的文章,感觉是个小乐子,就自己动手做了...#include &lt;iostream&gt; using namespace std; #include &lt;opencv.hpp&gt; using namespace cv; public: Widget(QWi

    基于内容的垃圾邮件过滤

    #include &lt;iostream&gt; #include "stemmer/Stemmer.h" #include &lt;vector&gt; #include &lt;string&gt; #include &lt;iomanip&gt; #include &lt;algorithm&gt; #include &lt;math.h&gt; #include "spamtrain.h" #define MAX(a,b) (a&gt;=b)?a:b; #...

Global site tag (gtag.js) - Google Analytics