c++ - 引用静态函数作为类定义的一部分是否有任何开销?

标签 c++

我目前正在实现一些实用函数来实现我正在处理的一些库。我被迫在将函数分段为静态成员作为更通用的命名空间中类定义的一部分,或者进入更具体的命名空间然后定义函数之间做出选择。我选择前一种感觉,因为它在将这些实用程序类纳入范围(使用或继承)的方式上更加灵活,尽管我不确定这种设计选择是否会产生任何开销:

namespace Utilities {
  struct CharUtil {
    static void foo();
  }
}
Utilities::CharUtil::foo();

慢于

namespace Utilities {
  namespace CharUtil {
    void foo();
  }
}
Utilities::CharUtil::foo();

?

前者使用继承更快吗?

最佳答案

这两种情况之间没有任何区别,除了函数名称的错位。静态函数没有 this 指针作为隐藏参数。编译器为这两个函数生成的代码将是相同的。

关于c++ - 引用静态函数作为类定义的一部分是否有任何开销?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8493620/

相关文章:

c++ - 如何从 C 中的第二行读取字符串文件?

c++ - 改变 gmock 期望

c++ 使用 OpenProcess() 提升 .exe 的权限

c++ - Xor c 代码 - 需要解释

java - 自动引用此类以在另一个 C++ 中使用

c++ - void() 和 void{} 有什么区别?

java - 是否可以在 Java 中覆盖泛型类的方法?

c++ - 参数化回调函数

c++ - #define 与有条件的#include-d 库冲突

c# - 是否可以在 gsoap 的单独线程中执行函数?