如果我将所有函数都作为类的静态方法,这是一个好主意
is it a good idea if I put all functions as a static methods of class?
我有一些函数是实用程序函数,它们作为函数放置在命名空间内。
在 C# 方面有一些经验,我知道不可能创建这样的函数,你需要在一个类中收集所有这些函数并将它们定义为静态的。
在这里做同样的事情是个好主意吗?创建一个类并将此类的所有相关函数静态方法放在一起?有速度差异吗?
看到了那个线程,但这个答案有一个很大的错误:我正在使用具有静态方法的类,没有其他类型的方法或状态。因此,静态方法不可能使用类的内部数据。
所有现代OO语言(如C#和Java)都不允许您将方法单独放在命名空间上,因此应该有一个很好的理由。我认为原因很清楚:在OO系统中,我们有类,没有函数。
C++从 C 诞生的,因此我们可以在命名空间中创建函数,但我们不应该这样做!
完全没有速度差异。通常,C++您当前的解决方案被认为是更好的编码实践。例如,有关更多详细信息,请参阅此线程:命名空间 + 函数与类上的静态方法
相关文章:
- 常量参考延长对象的寿命,然后是const_cast,这是一个好主意吗?
- 将C 11设置功能更改为带有转发的现代模板功能是一个好主意
- std :: tr1 :: shared_ptr throw bad_alloc,也是一个好主意
- 在构造函数中循环C++是一个好主意吗?
- 是一个哨兵 QWidget 一个好主意(以防止在创建和填充布局时出现内存泄漏)
- C++正在创建一个头来解决循环依赖关系,这是一个好主意
- 在构造函数中为另一个相同类型的对象构造对象是个好主意吗
- 如果我将所有函数都作为类的静态方法,这是一个好主意
- 使用 "-g" 标志进行生产是否是一个好主意?
- 中央Typedefs.h文件 - 这是一个好主意
- 预处理器强制一致性,这是C++中的一个好主意
- 在编译的代码中包含一个大的文本变量是个好主意吗
- 一个尝试非确定性有限状态机(c++),是静态std::map的好主意
- 有一个指向std::vector-element的指针,该指针目前还不存在,但稍后将被构造,这是个好主意吗?
- 如果一个程序的主要功能是从磁盘中读取数据,那么让它多线程是不是一个好主意?
- 通过函数指针在游戏引擎数学库中使用SIMD ~一个好主意
- 每次使用RNG时都播种一个好主意
- 为什么内联构造函数和析构函数在c++中不是一个好主意
- 数组声明在.h文件,这是一个好主意
- 通过'元组'和'tie',一个好主意