现在来看看下面两个include:
C++中的命名空间:
在
C++中,名称(name)可以是符号常量、变量、宏、函数、结构、枚举、类和对象等等。为了避免,在大规模程序的设计中,以及在程序员使用各种各样的
C++库时,这些标识符的命名发生冲突,标准C++引入了关键字namespace(命名空间/名字空间/名称空间/名域),可以更好地控制标识符的作用
域。
MFC中并没有使用命名空间,但是在.NET框架、MC++和C++/CLI中,都大量使用了命名空间
使用 using 声明可以在不需要加前缀 namespace_name:: 的情况下访问命名空间中的名字。using 声明的形式如下:
using namespace::name; 如:
using namespace std;
using std::cin;
另一个问题是避免重复引用:
头文件的包含,避免重复定义,命名空间的使用,用预处理器指令来控制代码块等等技巧。
// print.h #ifndef PRINT_H #define PRINT_H #include <iostream> #include <string> using std::string; namespace print1 { void print(const string& s); } namespace print2 { void print(const string& s); } #endif