回复 楼主 吴军旗
本人认为这个问题很值得研究!
C++名字空间是一种描述逻辑分组的机制,也就是说,
如果一些声明在逻辑上按照某种准则属于统一集团,就可以将它们放在同一个名字空间;
std 就是 这样的一种,std 中包含所有C++标准库的名字声明;
在早期C++ 非标准的实现中类是于 C
用 #include<---.h> 就可以了;
那么在标准的C++中为什么可以用< ---.h> 的方式呢?
C++用如下的方法来解决这个问题
例如:
//原有标准C 的头文件 sthio.h 定义如下;
//stdio.h
......
int printf(const char*,...);
......
//在C++中同样头文件 stdio.h 的定义如下;
//stdio.h
namespace
{
......
int printf(const char*,...);
......
}
using namespace;
//C++还有一种使用原有C头文件的方法如下
//cstdio
namespace{
......
int printf(const char*,...);
......
}
!!!注意比较与上一种的区别
对于C 部分的头文件 在C++中有两种include 方式 1.#include<headerfile.h> 或 2.#include<cheaderfile>
如果包含标准C 的---.h 头文件,可以不用 using namespace std;
如果是 c---- 的方式,就需 用using namespace std;
对于C++ 的头文件 标准中是没有 .h 的, 老的环境下是可以使用的