我们在c ++中对分层命名空间有什么实际用途吗?

Fli*_*man 5 c++ namespaces

我可以理解一级命名空间的用法.但是3级命名空间.看起来很疯狂.这有什么实际用途吗?或者这只是一种误解?

Ori*_*ian 9

分层命名空间确实有用,因为它们允许逐步更精细的定义.当然,单个提供者可以生成两个具有相同名称的类.第一级通常由公司名称占用,第二级指定产品,第三级(可能更多)由我提供域名.

命名空间隔离还有其他用途.一种流行的情况是将工厂模式的基类放在其自己的命名空间中,然后由提供者在自己的命名空间中派生工厂.例如System.Data,System.Data.SqlClientSystem.Data.OleDbClient.