一、什么是 c++ 命名空间 有什么作用?
C++命名空间是一种用于解决全局作用域(如全局变量名或函数名)的冲突问题的机制,是一种可以将全局作用域划分成不同区域的机制。
它可以将一组相关的变量、函数和类组织在一起,形成一个独立的命名空间,避免命名冲突。命名空间通过在代码中定义和使用关键字"namespace"来创建。例如在大型项目中,多个开发者可能会使用相同的标识符,使用命名空间可以区它们。
二、 如何定义使用命名空间?且交代命名空间是否允许嵌套?
定义:namespace + 命名空间名称 + { 命名空间成员 }
namespace N1 // N1为命名空间的名称
{// 命名空间中的内容,既可以定义变量,也可以定义函数int a;int Add(int left, int right){return left + right;}
}
使用:可以通过作用域解析运算符 " :: " 来访问命名空间中的成员
N1::Add(1, 2)
命名空间可以嵌套:
namespace N2
{int a;int b;int Add(int left, int right){return left + right;}namespace N3{int c;int d;int Sub(int left, int right){return left - right;}}
}