C---命名空间

C++ 命名空间

假设这样一种情况, 当一个班上有两个名叫 Zara 的学生时, 为了明确区分它们, 我们在使用名字之外, 不得不使用一些额外的信息, 比如他们的家庭住址, 或者他们父母的名字等等.

同样的情况也出现在 C++ 应用程序中. 例如, 您可能会写一个名为 xyz() 的函数, 在另一个可用的库中也存在一个相同的函数 xyz(). 这样, 编译器就无法判断您所使用的是哪一个 xyz() 函数.

因此, 引入了命名空间这个概念, 专门用于解决上面的问题, 它可作为附加信息来区分不同库中相同名称的函数、类、变量等. 使用了命名空间即定义了上下文. 本质上, 命名空间就是定义了一个范围.

我们举一个计算机系统中的例子, 一个文件夹(目录)中可以包含多个文件夹, 每个文件夹中不能有相同的文件名, 但不同文件夹中的文件可以重名.

定义命名空间

1
2
3
namespace namespace_name {
// 代码声明
}

调用命名空间

1
name::code;  // code 可以是变量或函数

特性

  • 命名空间之间可以相互嵌套
  • 不同的命名空间可以有同名函数(包括嵌套空间)
  • 命名空间可以定义在几个不同的部分中
    • 因此命名空间是由几个单独定义的部分组成的。一个命名空间的各个组成部分可以分散在多个文件中。
  • Copyrights © 2024 Cdog Shen
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信