【发布时间】:2015-10-01 12:11:45
【问题描述】:
考虑这种情况。我正在编写一个库,并希望将我的数据包装在一个命名空间中。例如:
//header.h
#pragma once
namespace wrapper
{
// some interface functions here..
}
我想将我的命名空间设为私有。这样就没有人可以在里面写任何东西了。例如,我们总是可以这样写。
namespace std
{
// some data here..
}
所以我想防止最后一种情况。除了使用封装在类中的静态函数之外,还有什么技术可以做到这一点吗?
【问题讨论】:
-
您无法真正阻止其他人扩展您的命名空间。但是我已经看到像
internal_这样的额外命名空间被用来让每个人都清楚。 -
您不会将数据放在 C++ 的命名空间中。你把这种数据放在
classes中作为static数据,你可以把它变成private。 PS:我什至不确定你所说的数据是什么意思。很高兴在问题中看到一些示例概念代码。
标签: c++ namespaces wrapper private