20220216 最后更新时间:2022年02月16日 ## C++预处理器 ~~小型不用分号结束函数~~ ```c++ #define Pi 3.1415926 #define MIN(a,b) (a using namespace std; int main () { cout << "Value of __LINE__ : " << __LINE__ << endl; cout << "Value of __FILE__ : " << __FILE__ << endl; cout << "Value of __DATE__ : " << __DATE__ << endl; cout << "Value of __TIME__ : " << __TIME__ << endl; return 0; } //Value of __LINE__ : 6 //Value of __FILE__ : /Users/weiwei/Desktop/noobwei/work/main.cpp //Value of __DATE__ : Feb 16 2022 //Value of __TIME__ : 21:21:36 ``` ## C++命名空间 使用关键字 **namespace** ```c++ #include using namespace std; // hbut的noobwei namespace HBUT{ void noobwei(){ cout << "noobwei" << endl; } } // xdu的noobwei namespace XDU{ void noobwei(){ cout << "NOOBWEI" << endl; } } int main () { HBUT::noobwei(); XDU::noobwei(); return 0; } ``` 如上在HBUT和XDU同时存在两个noobwei,需要使用不同的空间名进行区分 如果有一天,我是说如果,HBUT将XDU收入囊中 ```c++ #include using namespace std; // hbut的noobwei namespace HBUT{ // xdu的noobwei namespace XDU{ void noobwei(){ cout << "NOOBWEI" << endl; }}} using namespace HBUT::XDU; int main () { noobwei(); return 0; } //NOOBWEI ``` ### 关于using namespace(std); > 您可以使用 **using namespace** 指令,这样在使用命名空间时就可以不用在前面加上命名空间的名称。这个指令会告诉编译器,后续的代码将使用指定的命名空间中的名称。 > 并不是写了#include就必须用using namespace std;我们通常这样的写的原因是为了一下子把std [名字空间](https://www.baidu.com/s?wd=名字空间&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y3ry7-mH0dm1TvPHNWn1mk0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPjnkrHmdP16LP1TvrjmvnjfY)的东东全部暴露到全局域中(就像是直接包含了 [iostream.h](https://www.baidu.com/s?wd=iostream.h&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y3ry7-mH0dm1TvPHNWn1mk0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPjnkrHmdP16LP1TvrjmvnjfY)这种没有名字空间的头文件一样),使标准C++库用起来与传统的iostream.h一样方便。如果不用using namespace std;使用标准库时就得时时带上名字空间的全名,如std::cout << "hello" << std::endl; > > https://blog.csdn.net/luguocai321/article/details/52437134#:~:text=using%20namespace%20std%20 ## STL > https://www.runoob.com/cplusplus/cpp-stl-tutorial.html
Comments | NOTHING