创建一个所有成员(属性、函数)都是静态的类有什么(客观的)缺点?特别是与使用命名空间相比?或者你更喜欢创建全局变量/函数?
我喜欢创建静态属性,因为我认为它们更“整洁”。 (我知道它们来自哪里等等。)我对命名空间不太熟悉。而且我对全局变量一点也不舒服,因为我不是很熟悉C关键字,如extern和static。
此外,如果我们考虑类:
我喜欢创建静态属性,因为我认为它们更“整洁”。 (我知道它们来自哪里等等。)我对命名空间不太熟悉。而且我对全局变量一点也不舒服,因为我不是很熟悉C关键字,如extern和static。
此外,如果我们考虑类:
class MyStaticClass
{
private:
static int x;
static double y;
public:
static float s;
static double weatherForecast(unsigned int, char);
};
和命名空间
namespace MyNamespace
{
int x;
double y;
float s;
double weatherForecast(unsigned int, char);
}
在调用
MyStaticClass::weatherForecast
和调用MyNamespace::weatherForecast
之间,性能方面有区别吗?在读取/写入
MyStaticClass::s
和读取/写入MyNamespace::s
之间,性能方面有区别吗?如果使用类而不是基本类型,上述问题的任何答案是否会改变?