图 名字空间 在大型的程序时,每个源文件可能由不同的开发者开 发。不同的源文件中可能有同样的名字。当这些源文 件连接起来形成一个可执行文件时,就会造成重名。 名字空间是把一组程序实体组合在一起,构成的一个 作用域。 一个名字空间中不能有重名,不同的名字空间中可以 定义相同的实体名。当引用某个实体时,需要加上名 字空间的限定 ©程序中的std是C++中所有标准库的名字空间名。 司 LoCCS
名字空间 在大型的程序时,每个源文件可能由不同的开发者开 发。不同的源文件中可能有同样的名字。当这些源文 件连接起来形成一个可执行文件时,就会造成重名。 名字空间是把一组程序实体组合在一起,构成的一个 作用域。 一个名字空间中不能有重名,不同的名字空间中可以 定义相同的实体名。当引用某个实体时,需要加上名 字空间的限定 程序中的std是C++中所有标准库的名字空间名
③ 使用名字空间的指令 ©格式: using namespace 名字空间名; 一旦用了使用名字空间的指令,该名字空间中的 所有的实体在引用时就不需要再加名字空间的限 定了。 第一个程序可以改写为: 司 LoCCS
使用名字空间的指令 格式: using namespace 名字空间名; 一旦用了使用名字空间的指令,该名字空间中的 所有的实体在引用时就不需要再加名字空间的限 定了。 第一个程序可以改写为:
③ /file:hello.cpp /This program prints the message "Hel lo world. /On the screen #include <iostream> using namespace std; int main() cout<<“Hel lo wor|d.”<<endl; return 0; 动 LoCCS
// file: hello.cpp // This program prints the message “Hello world.” // On the screen #include <iostream> using namespace std; int main() { cout << “Hello world.” << endl; return 0; }
文件university.h namespace Peking/声明命名空间Pek ing int rank=47;//标识符 namespace Tsinghua//声明命名空间Tsinghua int rank=54;/与Peking同名标识符 司 toccs
文件university.h namespace Peking //声明命名空间Peking { int rank=47;//标识符 } namespace Tsinghua //声明命名空间Tsinghua { int rank=54;//与Peking同名标识符 }
#include〈iostream> #include"university.h"/加载头文件university.h using namespace Peking;/显式使用头文件university.h中 /的命名空间Peking int main() std::cout<"世界大学排名(2010)"<std:endl; std:cout<"北京大学:"<rank<std:endl; //rank等同于Peking:rank std:cout<"清华大学:"<Tsinghua::rank<std:endl; //标识符rank前面加上命名空间 Tsinghua /以及作用域运算符":“ return 0; 司 LoCCS
#include <iostream> #include "university.h"//加载头文件university.h using namespace Peking;//显式使用头文件university.h中 //的命名空间Peking int main() { std::cout<<"世界大学排名(2010)"<<std::endl; std::cout<<"北京大学:"<<rank<<std::endl; //rank等同于Peking::rank std::cout<<"清华大学:"<<Tsinghua::rank<<std::endl; //标识符rank前面加上命名空间 Tsinghua //以及作用域运算符":: “ return 0; }