C++学习日记15——命名空间
学习视频链接
一、使用命名空间的方式
1.1 方式1
注意 引入命名空间不能在头文件中,防止污染其他的环境
1.2 方式2
二、创建命名空间
2.1 单文件
#include <iostream> using namespace std; namespace Number_Func { int add(int a, int b) { return a + b; } } int add(int a, int b) { return a + b + 1; } int main() { int a = 3, b = 4; cout << add(a, b) << endl; cout << Number_Func::add(a, b) << endl; return 0; }
2.2 多文件
number.h
number.cpp
point.h
point.cpp
main.cpp
#include <iostream> #include "point.h" #include "number.h" int main() { Math_Func::Number n1; Math_Func::Number n2(1.3); n1.info_number(); n2.info_number(); Math_Func::Point p1; Math_Func::Point p2(1.3, 2.3); p1.info_point(); p2.info_point(); return 0; }
多文件要注意普通函数(不在类内)需要在头文件中声明,在 cpp 文件中实现
三、默认全局命名空间
使用 :: 表示使用全局的命名空间,反映到下面函数就是使用命名空间外的 add 函数,否则使用命名空间内的 add
#include <iostream> using namespace std; int add(int a, int b) { return a + b + 1; } namespace Number_Func { int add(int a, int b) { return a + b; } int add2(int a, int b) { return ::add(a, b) + 1; } } int main() { int a = 3, b = 4; cout << add(a, b) << endl; cout << Number_Func::add(a, b) << endl; cout << Number_Func::add2(a, b) << endl; return 0; }
四、using 的用法
4.1 局部引入命名空间
4.2 只引入命名空间中的类
五、嵌套命名空间和别名
5.1 嵌套命名空间
#include <iostream> int add(int a, int b) { return a + b + 1; } namespace Number_Func { int add(int a, int b) { return a + b; } int add2(int a, int b) { return ::add(a, b) + 1; } namespace Next_Number { int add(int a, int b) { return a + b + 10; } } } int main() { int a = 3, b = 4; { using namespace Number_Func; using namespace std; cout << ::add(a, b) << endl; cout << Number_Func::add(a, b) << endl; cout << Number_Func::add2(a, b) << endl; } { using namespace std; cout << Number_Func::Next_Number::add(a, b) << endl; } return 0; }
5.2 别名
上一篇:
通过多线程提高代码的执行效率例子
下一篇:
java分转元,元转分的方法