c++ - C++中使用命名空间的关键字

标签 c++ namespaces

在关键字 using namespace 之后,我们不能在命名空间中有一个名为 myfunction 的函数和另一个名为 的函数,这是合乎逻辑的原因吗myfunction 在命名空间之外(具有相同的原型(prototype)),但是我们可以将它用于变量(命名空间中的 myvariable 和它之外的 myvariable )?

最佳答案

当然,您可以在不同的命名空间中使用具有相同名称和签名的函数——这就是命名空间存在的部分原因。唯一的考虑是,如果你想调用它,你必须限定它的名字。

namespace Foo {
    void func();
}

namespace Bar {
    void func();
}

using namespace Foo;
using namespace Bar;

func(); // does not compile -- which func()?

Foo::func(); // ok
Bar::func(); // ok

关于c++ - C++中使用命名空间的关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16731432/

相关文章:

c++ - 为 QMessageBox 设置父级

c++ - 单独 block 中的命名空间声明。哪个是函数参数的正确语法?

c# - Microsoft .NET 命名空间大小写约定

c++ - Visual C++ 函数问题(及其他)

c++ - 在 C++ 中更改引用

c# - 如何在 Silverlight 中使用 TextRange?

c++ - C/C++ 使用 libxml 将命名空间添加到子元素而不是根元素

kubernetes - 想要限制命名空间用户访问启用 RBAC 的 AKS 集群中的 TLS secret

c++ - 高效频率计算的数据结构决策

c++ - 用纯C++模糊图像