是否可以将一个函数(或其他符号)导入到命名空间中,但不导出它?例如,我想将std::string
导入到当前命名空间中,但我不希望current::string
可见。
namespace current {
using std::string;
string func();
}
current::string
不应该存在。
它的使用场景很简单,就是为了减少打字(避免反复输入诸如 std::string
之类的代码),同时也使代码更加清晰易读,避免命名空间语法过多干扰代码可读性。
std
这样的小东西。当然,如果你有三四个命名空间深度并需要使用一些东西,则导入命名空间可能很好。但这并不是一个真正的答案。 - Tas