辅助函数:cpp 中的静态或定义为静态辅助函数 class 方法
Helper function: static in cpp or define as static helper class method
我需要编写将在 class 方法中使用的辅助函数。目标是一个静态库。我知道以下用法:
- 它不会使用这个 class 成员
- 不会在其他classes
中使用
我看到了两种通用的解决方法:
- 用静态方法定义一个助手 class 并使用它
- 在cpp文件中将其定义为
static
函数
在第一种情况下(据我所知)这些函数将在库符号列表中可见。在第二种情况下,它们将不可见,但这似乎不是一个好习惯。我应该选择哪种方式?
"helper class with static method(s)" 是一种 Java 主义,在 C++ 中没有立足之地。
文件范围内的静态函数是 C 主义。
您应该选择的现代 C++ 解决方案(只有几十年的历史)是匿名命名空间中的自由函数:
namespace
{
void helperfunction() {}
}
void Class::function()
{
helperfunction();
}
我需要编写将在 class 方法中使用的辅助函数。目标是一个静态库。我知道以下用法:
- 它不会使用这个 class 成员
- 不会在其他classes 中使用
我看到了两种通用的解决方法:
- 用静态方法定义一个助手 class 并使用它
- 在cpp文件中将其定义为
static
函数
在第一种情况下(据我所知)这些函数将在库符号列表中可见。在第二种情况下,它们将不可见,但这似乎不是一个好习惯。我应该选择哪种方式?
"helper class with static method(s)" 是一种 Java 主义,在 C++ 中没有立足之地。
文件范围内的静态函数是 C 主义。
您应该选择的现代 C++ 解决方案(只有几十年的历史)是匿名命名空间中的自由函数:
namespace
{
void helperfunction() {}
}
void Class::function()
{
helperfunction();
}