我尝试使用实现命名空间,但是当我使用命名空间'它,它拉入整个实现命名空间,使其无用。
namespace library {
namespace implementation {
//implementation
}
using namespace implementation
//visible identifiers
}
是否可以隐藏实现,而无需使用" implementation ::"在使用实施中的任何内容之前?
答案 0 :(得分:7)
使其无用
嗯,它没有用,你只能using namespace
它。您必须明确地将implementation::
添加到其中的名称中。因此,选择较短的名称可能是有意义的(detail
通常用于c ++项目中。)
另外,我想指出仅限标题和实现隐藏是两个有些矛盾的要求。如果您确实需要隐藏实现,则无法使用标题。