LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 400|回复: 0

使用命名空间 std

[复制链接]
发表于 2024-2-19 22:50:34 | 显示全部楼层 |阅读模式
如果您以前看过 C++ 代码,您可能已经看到被使用而不是 .两者都命名同一个对象:第一个对象使用其非限定名称 (),而第二个对象直接在命名空间 (as ) 中限定它。

是标准库的一部分,标准 C++ 库中的所有元素都在所谓的命名空间中声明:命名空间。

为了引用命名空间中的元素,程序应该限定库元素的每一次使用(就像我们通过前缀 和 所做的那样),或者引入其组件的可见性。引入这些组件可见性的最典型方法是使用声明:coutstd::coutcoutstdstd::coutcoutstdstdcoutstd::

1
using namespace std;

上面的声明允许以非限定的方式(不带前缀)访问命名空间中的所有元素。

考虑到这一点,可以重写最后一个示例,以不限定地使用 as:stdstd::cout
// my second program in C++
#include <iostream>
using namespace std;

int main ()
{
  cout << "Hello World! ";
  cout << "I'm a C++ program";
}
Hello World! I'm a C++ program
在 cpp.sh 上编辑和运行

访问命名空间元素的两种方法(显式限定和使用声明)在 C++ 中都有效,并产生完全相同的行为。为简单起见,并提高可读性,这些教程中的示例将更频繁地使用后一种方法来使用声明,但请注意,显式限定是保证永远不会发生名称冲突的唯一方法。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表