假设我想在我的命名空间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
}
}
有没有办法做到这一点?
答案 0 :(得分:1)
您可以通过在using
声明中命名它们来“导入”各个符号:
namespace A
{
using std::max;
这意味着A::max
已定义,并指定与std::max
相同的功能;因此,尝试在max
中查找namespace A
会找到预期的功能。
(这是Brandon对原帖的评论的答案版本)