在学习标准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 <iomanip> using namespace std; int main() { int n,i,k=0; cin>>n; for(i=n*n;i>=1;i--) { cout<<setw(5)<<i; k++; if(k%n==0) cout<<endl; } cout<<endl; return 0;
1. **更改头文件名称**:将 `#include <iostream.h>` 改为 `#include <iostream>`,这样可以直接访问到 C++ 标准库中的 I/O 相关功能。同时,需要添加 `using namespace std;` 来使用 `std` 命名空间中的函数。 ``...
#include <iostream>#include <cstring>#include <algorithm>#include <cstdio>#include <string> using namespace std; const int M = 10000; //定义数据节点class dNode{public: string name; int age; bool ...
本文将详细探讨为什么在使用`<iostream>`时通常需要添加`using namespace std;`语句,以及这一做法背后的原理和技术细节。 ### C++命名空间概述 在深入讨论之前,首先了解下C++中的命名空间概念。命名空间是C++...
#include<iostream> #include<time.h> #include<conio.h> #include<windows.h> #include<stdlib.h> using namespace std; struct she //用x,y记录蛇的坐标 { int x; int y; struct she *next; }*tou,*wei; //...
第一次编译
#include<iostream> #include<string> #include<iomanip> using namespace std; struct HNode { int weight; int parent; int LChild; int RChild; }; struct HCode { char data; char code[1000]; }; class...
创建string函数实现部分功能#include<iostream> #include<string> #include <stdlib.h> using namespace std; int n=0,clasp[100][100],id[100],nsclas[100]; string name[100],clas[100],clasname[100][100]; ...
#include<iostream> using namespace std; int main(){ int a; cout<<"请输入要查询的月份:"; cin>>a; #include<iostream> using namespace std; int main(){ int a; cout<<"请输入要查询的月份:"; cin>>a;#...
#include<iostream> using namespace std; int main(){ int a; cout<<"请输入要查询的月份:"; cin>>a; #include<iostream> using namespace std; int main(){ int a; cout<<"请输入要查询的月份:"; cin>>a;#...
#include<iostream> using namespace std; int main(){ int a; cout<<"请输入要查询的月份:"; cin>>a; #include<iostream> using namespace std; int main(){ int a; cout<<"请输入要查询的月份:"; cin>>a;#...
#include<iostream> using namespace std; int main(){ int a; cout<<"请输入要查询的月份:"; cin>>a; #include<iostream> using namespace std; int main(){ int a; cout<<"请输入要查询的月份:"; cin>>a;#...
#include <iostream> #include <fstream> #include <cmath> using namespace std; int n; int **a; int count=0; int place(int i,int j) {//判断i,j这个点是否可以放皇后 for(int k=1;k<=i;k++) { if(a[k][j]=...
[Qt]图像处理小软件——给证件照换背景 之前看到码农大佬分享的文章,感觉是个小乐子,就自己动手做了...#include <iostream> using namespace std; #include <opencv.hpp> using namespace cv; public: Widget(QWi
高访win10 ui是基于web的一个模拟操作系统。他在里面可以办公提高了很大的效率。 欢迎你们下载。我#include<bits/stdc++.h> ...using namespace std; /*=============== all the structures ===============*/
#include <iostream> #include<cmath> using namespace std; #include<cstdlib> #include<ctime> int main(){ srand(time(0)); int a=rand()%(100)+1,b; for(int i=1;i<=6;i++){ cin>>b; if(b>a){ cout<<...
2. 实现的磁盘调度算法有 FCFS,SSTF,SCAN,CSCAN 和 NStepSCAN 算法。 3. 设定开始磁道号寻道范围,依据起始扫描磁道号和最大磁道号数,随机产生要进行寻道的磁道号序列。 4. 选择磁盘调度算法,显示该算法的...
[Qt]图像处理小软件——给证件照换背景 之前看到码农大佬分享的文章,感觉是个小乐子,就自己动手做了...#include <iostream> using namespace std; #include <opencv.hpp> using namespace cv; public: Widget(QWi
#include <iostream> #include "stemmer/Stemmer.h" #include <vector> #include <string> #include <iomanip> #include <algorithm> #include <math.h> #include "spamtrain.h" #define MAX(a,b) (a>=b)?a:b; #...