我受到了这个问题下的评论的启发。
我认为仅有静态函数的类并不比只有函数的命名空间更好的设计,没有任何理由支持这种观点。欢迎提供这两种方法的优缺点列表。最好能够提供一些实际的例子!
我认为仅有静态函数的类并不比只有函数的命名空间更好的设计,没有任何理由支持这种观点。欢迎提供这两种方法的优缺点列表。最好能够提供一些实际的例子!
一个非风格差异是您可以使用类作为模板参数,但无法使用命名空间。有时会将其用于策略类,例如std::char_traits
。
除此之外,我建议使用带有普通函数的命名空间。
带有静态方法的类
命名空间
- 你可以创建命名空间别名
namespace io = boost::iostreams;
好吧,你也可以用typedef
给类取别名,所以这是无关紧要的。
你可以将符号导入到另一个命名空间中。
namespace mystuff
{
using namespace boost;
}
你可以导入选定的符号。
using std::string;
它们可以跨越多个文件(非常重要的优点)
内联命名空间(C++11)
总之:在C++中,命名空间是最好的选择。
new
的时候,它才是一个专业术语。 - juanchopanzanew
做什么的? - GuLearn