c ++类导入头文件

时间:2015-09-17 08:56:13

标签: c++

我有一个模板化的类KeyValue,它定义了一个键值对。

class KeyValue位于::distributed::utils命名空间;

现在,如果我想使用KeyValue,我可以写::distributed::utils::KeyValue my_kv;

为方便起见,我可以导入命名空间:

using ::distributed::utils::KeyValue;

然后只需输入KeyValue my_kv,只要我需要使用此类。

我现在遇到的问题是在头文件中使用::distributed::utils::KeyValue 违反了我为styleguide工作的公司(所以没有"使用"允许在头文件中)。

另外,我在头文件中编写了一些模板化函数,因此我无法将它们移动到cc文件(任何讨厌的方式也会被视为样式指南违规)。

因此,问题是:

围绕它的好方法是什么? 我发现的一种可能性是通过

缩写::distributed::utils名称空间
namespace ::distributed::utils du;

然后在我需要du::KeyValue对象的任何地方写KeyValue。 但这仍然不是很好,因为我需要多次将KeyValue更改为distributed::utils::KeyValue(以及其他一些类)。

那么,有关如何在头文件中将::distributed::utils::KeyValue缩写KeyValue的任何帮助吗?

提前多多感谢。

P.S。将名称更改为其他不显示公司代码的名称。

1 个答案:

答案 0 :(得分:0)

我建议不要在代码中寻找答案。正如经常所说的那样,代码的读取频率高于写入代码。因此,打字时的便利性是编码/命名选择的一个不好的原因。

根据您的环境,还有其他选择。您可以使用IDE的扩展设置。例如,在NetBeans中(我对其他IDE的经验不足,但想象有相同的选项),您可以将du+<TAB>扩展为::distributed::utils,如果这是您经常使用的内容。或者您当然可以键入$KV$并使用搜索和替换,但这会暂时中断IDE中的代码分析。