相关疑难解决方法(0)

118
推荐指数
3
解决办法
3万
查看次数

静态,非成员或静态非成员函数?

每当我有一些朝向"效用"方向的功能时,我最终想知道哪个选项是最好的.例如,在我工作的上下文中打印消息结构(自己的或外部的),一些编码/解码代码或简单的一些有用的转换函数.

我想到的选项是:

1)helper类/ struct中的静态函数.

struct helper
{
    static bool doSomething(...);
};
Run Code Online (Sandbox Code Playgroud)

2)非成员函数.

namespace helper
{
    bool doSomething(...);
}
Run Code Online (Sandbox Code Playgroud)

3)静态非成员函数.

namespace helper
{
    static bool doSomething(...);
}
Run Code Online (Sandbox Code Playgroud)

在某些情况下,可能需要在"实用程序"中初始化或保持状态,因此我选择选项1以避免"全局"状态.但是,如果没有需要保留的状态,我应该选择2还是3?选项2和3之间的实际区别是什么?

重要的是要考虑什么,是否有一种首选的方法来解决这个问题?谢谢!

c++ static non-member-functions

8
推荐指数
2
解决办法
4312
查看次数

静力学需要上课吗?

直到现在我才真正尝试过.是否可以在没有类的情况下在命名空间范围内使用静态?为什么不?

namespace MyNamespace
{
  static int a;
}

assign something, somewhere else....
Run Code Online (Sandbox Code Playgroud)

c++ static

5
推荐指数
1
解决办法
163
查看次数