命名空间提供了一种在大型项目中防止名称冲突的方法。
在命名空间块(namespace block)中声明的符号被放置在一个命名作用域中,这个域可以防止它们在其他作用域中被误认为具有相同名称的符号。
我们可以定义具有相同名称的多个命名空间块。这些块中的所有声明都在命名范围中声明。
使用语法
//1
namespace ns_name { declarations }
//2
inline namespace ns_name { declarations }
//3
namespace { declarations}
//4
ns_name::name
//5
using namespace ns_name;
//6
using ns_name::name;
//7
namespace name = qualified-namespace
//8
namespace ns_name::inline name {declarations}