C++ 在函数中使用多个指令

C++ 在函数中使用多个指令,c++,syntax,using,C++,Syntax,Using,与在给定函数中包含整个名称空间不同,我只希望包含我将要使用的内容,例如: void doStuff() { using std::sin; using std::cos; ... // do stuff } 有时这个列表会变长。我想将其精简为以下内容(类似于变量声明的实现方式): 我惊讶地发现这是不可能的 (错误:使用声明后应为“;”)。使用的是这样定义的,有什么原因吗?是否有另一种方法可以从给定的名称空间中统一包含许多函数(除了使用名称空间执行。;)?我想要的

与在给定函数中包含整个名称空间不同,我只希望包含我将要使用的内容,例如:

void doStuff() {
    using std::sin;
    using std::cos;
    ...
    // do stuff
}
有时这个列表会变长。我想将其精简为以下内容(类似于变量声明的实现方式):

我惊讶地发现这是不可能的
错误:使用声明后应为“;”
)。使用的
是这样定义的,有什么原因吗?是否有另一种方法可以从给定的名称空间中统一包含许多函数(除了使用名称空间执行
。;
)?

我想要的东西目前似乎不可能实现。然而,来自:

一个包含多个using声明符的using声明相当于包含一个using声明符的相应using声明序列。 (从C++17开始)

以下面的例子:

namespace X {
    using A::g, A::g; // (C++17) OK: double declaration allowed at namespace scope
}

这似乎表明这在将来是可能的。

在某个时候,你使用的
比你允许自己省略的
std::
长。@Barry这一切都取决于我在之后使用包含函数的次数;)但的确如此!我通常只在mathy函数中这样做,其中所有的东西都会在一段时间后在视觉上混合在一起。很高兴把所有这些
都排除在外。它没有你现在做的那么好,但是在函数范围内,你可以使用
使用namespace std。就我个人而言,我只是到处使用
std::
。还要注意的是
使用
使用命名空间
在行为上有细微的区别。让我澄清一下,我的意思是你可以用std:
替换
。我发现这为我节省了很多时间。
namespace X {
    using A::g, A::g; // (C++17) OK: double declaration allowed at namespace scope
}