是否有任何方法可以省略顶级名称空间内其他名称空间的某些函数的外部名称空间名称?使用其他名称空间内的名称空间的函数
void sample_func();
namespace foo {
void first_func();
namespace bar {
void second_func();
void sample_func();
}
一切都是平凡的first_func()
:只是打字using foo::first_func;
允许调用它就像fist_func();
一切都很简单,如果我想打电话给second_func
没有任何前缀:只是using foo::bar::second_func;
允许称其为second_func();
但是有什么办法可以称之为bar::second_func();
?它会增加代码的可读性 - 更好地键入并看到类似bar::sample_func
而不是完整的foo::bar::sample_func
而没有名称混淆:显然using namespace foo::bar
不是这种情况下的选项。
UPD我没有兴趣在导入整个foo
或bar
命名空间(即using namespace ...
指令!我需要的只是一些功能,从他们。
它需要'使用命名空间...',我。即全局命名空间中的每个函数都应该以'::'作为前缀。我只需要'foo'和'bar'中的一些广泛使用的函数子集而不暴露所有的名称空间。 – avtomaton