2008-09-25 73 views
-1

我对空前,酷,和深奥的方式使用命名空间感兴趣。我知道许多高级开发人员通过使用它们作为字符串常量的引用来“破解”命名空间。在字符串常量示例中,想法是实现DRY(DRY =不重复自己),并且可以将所有字符串保存在一个文件中。什么是使用名称空间的一些非标准方法?

注:我正在寻找相关答案“共同”语言,如C#和Ruby,Java等

+0

所以,你想成为一个开发人员,以不同于其他人的方式尝试并变得更酷吗?你觉得它很难适应圣诞大餐或什么?我的建议,不要。你最终会讨厌你的同事试图找到代码。 – 2008-09-25 07:31:23

+0

也许这不是真正的用途,但只是有兴趣知道很酷的语言技巧。没有什么是错的,特别是因为他们通常可以加深你对语言的理解。 – MidnightGun 2008-09-25 09:10:06

回答

1

在C++定义枚举时,尤其是当有几个中的一个深奥使用我经常诉诸是类型在cetain上下文中。这可以在相关上下文中使用诸如Quality::k_highImportance::k_high。枚举还经常包含未知值(通常用于表示未设置的情况),这些值需要被限定用于消除常量(例如,k_qualityNonek_importanceNone),这是使用名称空间避免的。

的定义将因此看起来像:

 
namespace Quality { 
    enum Type { k_high, k_medium, k_low, k_none }; 
} 

 
namespace Importance { 
    enum Type { k_high, k_medium, k_low, k_none }; 
} 

函数和方法将然后采取Quality::Type类型(和Importance::Type),这是相当的描述和漂亮的参数。个别计数常数也与前面提到的相同(Quality::k_low)。

相关问题