使用什么东西:: something :: something意味着什么(c ++)?

时间:2017-06-07 21:01:22

标签: c++ class namespaces include

所以我刚刚开始作为一名实习生,我应该在的代码分散在10个不同的目录和100个文件中,谁知道有多少名称空间。我之前从未使用过这个,我真的很困惑他们是如何联系在一起的。

我一个接一个地看到这些陈述,例如:

using something10::something2::something6;
using isThisANamespace::iHaveNoIdeaIfThisIsAClassNameOrWhat::something599;
using randomName::otherRandomName::randomName99999;
using something4::something3::something8766678788787987987698;

每当我尝试google使用什么时,我只会使用命名空间找到结果。现在使用的只是一种使用命名空间的简短方法吗?他们使用的一些东西似乎是文件夹名称和文件名。我的公司导师不懂c ++,所以他无法帮助我。

另外,如果这些都是名称空间,那么不会使用这么多的冲突吗?你能调用namespace :: classname :: function吗?当你这样做时,你还需要包含该类的文件名吗?

请帮助我学习如何调用隐藏在4个命名空间中的另一个目录中的函数。我很失落。

3 个答案:

答案 0 :(得分:1)

这是 using-declaration 。它将来自另一个名称空间的单个名称引入当前作用域,以便可以无需限定地使用它。它与 using-directive 不同,后者以using namespace开头。

答案 1 :(得分:0)

检查下面的链接,希望它能帮助你找到你想要的东西 https://www.tutorialspoint.com/cplusplus/cpp_namespaces.htm

答案 2 :(得分:-1)

如果真的只是随机命名,那就非常非常糟糕。 但是我希望这只是你的个人愿景,作为C ++的初学者,实际上有一个很好的代码,但有点复杂。

我不知道你的背景,你知道什么语言,所以我会说命名空间是有点盒子。他们可以构建非常好的,分层结构的模块\子系统。我建议你不要惊慌,拿纸,试着写出所有名称空间,它们之间的关系,它们中的内容(类,结构,可能是函数)以及你自己理解它们的目的。

P上。 S.抱歉英语不好。这个话题对我来说非常接近,但是我的英语写作技巧对于这方面的免费对话并不是很好。我希望主持人能解决错别字。