【发布时间】:2016-02-24 09:15:09
【问题描述】:
标准 C++ 库的所有实体(变量、类型、常量和函数)都在 std 命名空间中声明。
现在,如果所有内容都在 std 命名空间中“声明”,那么为什么会有这些花哨的标头?
已经检查过this,但还不够有用。
【问题讨论】:
-
两者没有任何关系……你的问题毫无意义。
-
@LightnessRacesinOrbit 那么为什么在标头中已经存在 std 命名空间中的声明呢?
-
这没有任何意义。声明在词法上“在”标题中。那是他们住的地方。这是有人输入它们的地方,也是编译器在搜索它们时找到的文件。命名空间是一种语义分类,在您的标头被包含后用于整理程序中的所有内容(来自标头或其他)。命名空间实际上只是您要声明的事物名称的一部分;而已。我真的不明白你在说什么。这就像在问“为什么我们需要不同的 HTML 标签,因为它们都已经在一个 HTML 文件中了?”
-
@LightnessRacesinOrbit 好的,对不起。由于字符串类是在
<string>标头中声明的,并且在 std 命名空间中声明了 'also',您能否说明一下声明在 std 命名空间中的样子? -
写完我的答案后,我现在认为您的问题与您链接的问题完全相同。什么是“不够有用”?
标签: c++ namespaces