Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 函数名也是名称空间吗?_C++_Namespaces - Fatal编程技术网

C++ 函数名也是名称空间吗?

C++ 函数名也是名称空间吗?,c++,namespaces,C++,Namespaces,我的疑问是为什么HelpfulFunc会附加到“使用myfancy_应用程序”中。难道我们就不能: using my_fancy_app; HelpfulFunc(); 函数名也是名称空间吗 否。函数名不是命名空间 这个评论有点错误。这是一个限定名,但不是一个乏味的限定名。一个完全限定的名称应该是::my_fancy_app::HelpfulFunc在后一个代码段中,您必须使用名称空间my_fancy_app编写。这意味着my\u fancy\u app::名称空间中定义的所有内容都将被引入。

我的疑问是为什么HelpfulFunc会附加到“使用myfancy_应用程序”中。难道我们就不能:

using my_fancy_app;
HelpfulFunc();
函数名也是名称空间吗

否。函数名不是命名空间


这个评论有点错误。这是一个限定名,但不是一个乏味的限定名。一个完全限定的名称应该是
::my_fancy_app::HelpfulFunc

在后一个代码段中,您必须使用名称空间my_fancy_app编写
。这意味着
my\u fancy\u app::
名称空间中定义的所有内容都将被引入。这只拉入了HelpfulFunc
,而没有拉入
my\u fancy\u app
命名空间中的所有其他内容。如果您只需要my_fancy_app中的一个函数,而不想担心使用整个名称空间时会出现名称冲突,那么您应该这样做。@NathanPierson啊,我明白了。你能解释一下为什么我们在第一个代码段中不必使用“namespace”关键字吗?@Jamāl因为
my_fancy_app::HelpfulFunc
不是名称空间(我希望它能回答你的问题)@Kevin ok明白了,非常感谢!调用
my_fancy_app::HelpfulFunc()
:my_fancy_app::HelpfulFunc()
不同,仅当它在另一个命名空间中调用时,对吗?@Jamāl Yes。即使如此,它也只能在以下情况下解析为另一个函数:
:my_fancy_app
被另一个名称隐藏。我看不出全局名称空间如何被另一个名称空间隐藏。你能解释一下吗?@Jamāl可能是隐藏在
中的某个东西的完全限定名::我的_fancy_app
:other_namespace。嗯,我不得不考虑一下这个问题。无论如何,它偏离了我关于函数名称空间的主要问题,您已经回答了这个问题。我会接受答案。非常感谢你给了我继续思考的方向。
my_fancy_app::HelpfulFunc(); // fully qualified name