C++中头文件和名称空间的区别?

例如头文件iostream和namespace std,函数cout是放在iostream里还是std里呢?如果是放在其中一个库里,那另外一个又有什么意义呢?本人刚开始学C++,望大家指教啊~~

Cout放在iostream中,iostream放在std中。
iostream是一个文件,std是一个空间。

打个比方:
std是你们家院子,iostream则是你们家院子里的一棵树,cout是树杈。

如果别人家有一棵和你们家一样的树,怎么区分呢?这时候就用到了using namespace 你们家院子(std)。来把范围限制你们家院子!

明白没?
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-11-03
iostream是输入输出流,cout,cin等都包含在其中,定义namespace std的意义在于声明命名空间,也就是说把c语言中的库文件引进进来,如printf,等、
第2个回答  2008-11-03
你可以理解成namespace std包含iostream,iostream包含cout
第3个回答  2008-11-03
iostream

C++中,头文件与命名空间的关系
也就是说,当C++进行开发时,我可以有两个函数的名字都叫A,那么我凭什么区分他们呢?我可以把他们放到两个名字空间里,这就是c++地解决之道。所以一般来说,特定的函数和类是放在特定的名字空间里的。std是标准名字空间,当然不能把所有的函数封装到这个里面,所以有些头文件里的函数群是不在这个名字...

C++在namespace中和在头文件中定义函数有什么不同?
你没有搞明白头文件和命名空间的区别。头文件用于声明函数和定义变量,而命名空间用于约束名称的作用域。以标准输入输出流头文件iostream以及标准命名空间std为例,它们的关系是:iostream中声明和定义了标准I\/O操作需要使用到的各种类、函数以及对象,例如cin对象、cout对象,getline()函数等。这些类、函数和...

C++头文件名有区别吗
这是包含头文件的一个规则,如果是用<> 的头文件,编译器会直接到标准库里找你写的库文件,如果你是用"" 的头文件,就会先在你工程所在的工作目录上查找相应的头文件,如果没找到再去库文件找,要是还找不到.就会报错.如果你知道一个头文件是标准库的用<>就会提高效率,当然你一定要用""来包含库文件...

...命名空间,头文件里面有一个相当于声明的名称空间,而代码文件又定义一...
命名空间的主要作用是限制重名,即在不同的命名空间中可以使用相同的名字。例如上海可以有【中山路】,北京也可以有【中山路】,广州也可以有【中山路】。虽然大家的路名都是【中山路】。但是只要提供了命名空间--城市名,就可以将这几条路区分开来。在头文件中,我们需要使用命名空间对函数进行限定。\/\/...

C++中头包含部分的几种写法有何区别?
(1)包括了头文件,所以都可以用。(2)包括std的文件,这是为了照顾老程序员的,可以看看C++的发展历史,还有一个好处就是可以少打2个字母“.h”,使用名字空间可以避免一个Team中多人的名字冲突。(3)同2,只不过是2把所有std的名字全倒出来了,而3中只用了3个名字。

C++中include <iostream>和include <iostream.h>有什么区别。
一、来源不同 1、include<stdio.h> :include<stdio.h> 是C标准库里面的函数库。2、include<iostream.h>:include<iostream.h>是C++标准库的函数库。二、命名空间不同 1、include<stdio.h> :引用include<stdio.h>的类需要手动添加命名空间。2、include<iostream.h>:引用include<iostream.h>的类...

C++ 中命名空间和include区别
C++标准里似乎没有别的了。不过很多第三方库会有,比如boost库有boost命名空间,OpenCV库有cv命名空间。没有“默认”命名空间,就好像C里没有一样。严格说来,语法上没有“库”这个概念。所以“iostream是定义在std空间里”这句说法是不恰当的。只能说iostream这个头文件里定义的类和变量都是std空间里...

c++标准库有哪些
C90 C标准程序库。C标准库 来自C标准库的所有头文件,以另一个名称包含在C++标准中。将原名称移去“.h”并在开头处加上“c”作为新的名称。例如“time.h”改成“ctime”。C++标准库的头文件与C标准库的头文件的唯一区别是,函数位于std::命名空间(虽然很少编译器真正如此)。

C++ 中 namespace 和 class 的区别
class也是一个名字空间,不过他是封闭的,也就是说你只能在一个文件里面定义class包含什么(通俗点讲,就是一个class只能有一个头文件);namespace是开放的,和class不同的是你可以在多个文件里面象同一个namespace里面添加东西。比如stl里面的东西都是在名字空间std里面,但是却定义在了多个文件里面。cl...

C++ 中.h头文件和其他头文件的区别?
C++中新定义的方法都是有名字空间的 比如cout就属于std名字空间 如果include头文件的时候加上.h,默认会using namespace 否则需要自己加上 using namespace XXX 对于C中已经定义的方法如printf,没有影响的

相似回答