如何将单个函数引入当前命名空间?

时间:2014-09-11 02:38:33

标签: c++ namespaces

假设我想在我的命名空间std::max中使用A函数。我该怎么做?

namespace A {
void fun()
{
  double x = std::max(5.0, 1.0); // I don't want to have to write the std::
}

void fun()
{
  using namespace std;
  double x = max(5.0, 1.0); // I don't want to have to use the using directive to introduce the entire namespace
}

}

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以通过在using声明中命名它们来“导入”各个符号:

namespace A
{
    using std::max;

这意味着A::max已定义,并指定与std::max相同的功能;因此,尝试在max中查找namespace A会找到预期的功能。

(这是Brandon对原帖的评论的答案版本)