ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

c++的命名空间

2026/8/14 0:22:48 拓冰建站 浏览量
c++的命名空间

命名空间

  • 一.c++的关键字
  • 二.命名空间
    • 2.1 命名空间定义
    • 2.1 命名空间的使用
      • 2.1.1加命名空间名称及作用域限定符
      • 2.1.2使用using将命名空间中某个成员引入
  • 三.标准命名空间std

一.c++的关键字

c++中一共有63个关键字

关键字11111
asmdoifreturntrycontinue
autodoubleinlineshorttypedeffor
booldynamic_castintsignedtypeidpublic
breakelselongsizeoftypenamethrow
caseenummutablestaticunionwchar_t
catchexplicitnamespacestatic_castunsigneddefault
charexportnewstructusingfriend
classexternoperatorswitchvirtualregister
constfalseprivatetemplatevoidtrue
const_castfloatprotectedthisvolatilewhile
delete goto reinterpret_cast

二.命名空间

在c++中使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的

int rand = 10;
int main()
{printf("%d\n", rand);return 0;
}

在这里插入图片描述
这个代码在vs下就会报错

2.1 命名空间定义

定义命名空间需要使用namespace关键字,后面在加上{}就行

namespace zhang
{int a=10;}int main()
{cout<<zhang::a << endl;return 0;
}

在命名空间中我们可以可以定义变量/函数/类型,就当main函数使用,当然我们也可以嵌套命名空间


namespace zy
{namespace zz{namespace yy{int rand = 0;}}
}int main()
{cout << "hello world" << endl;//:: 域作用限定符cout  << zy::zz::yy::rand << endl;return 0;
}

2.1 命名空间的使用

命名空间的使用有三种方式

2.1.1加命名空间名称及作用域限定符

int main()
{cout<<zhang::a << endl;return 0;
}

2.1.2使用using将命名空间中某个成员引入

using zy::zz::yy::rand;int main()
{cout  << zy::zz::yy::rand << endl;return 0;
}

三.标准命名空间std

标准C++库中的所有标识符都是在一个名为std的命名空间中定义的,或者说标准头文件中的函数、类、对象和模板实在命名空间std中定义的。一般用using namespace语句对命名空间std进行声明,这样可以不必对每个命名空间成员一一进行处理,在文件的开头加入如下语句:
using namespace std;