辅助函数:cpp 中的静态或定义为静态辅助函数 class 方法

Helper function: static in cpp or define as static helper class method

我需要编写将在 class 方法中使用的辅助函数。目标是一个静态库。我知道以下用法:

我看到了两种通用的解决方法:

  1. 用静态方法定义一个助手 class 并使用它
  2. 在cpp文件中将其定义为static函数

在第一种情况下(据我所知)这些函数将在库符号列表中可见。在第二种情况下,它们将不可见,但这似乎不是一个好习惯。我应该选择哪种方式?

"helper class with static method(s)" 是一种 Java 主义,在 C++ 中没有立足之地。
文件范围内的静态函数是 C 主义。

您应该选择的现代 C++ 解决方案(只有几十年的历史)是匿名命名空间中的自由函数:

namespace
{
    void helperfunction() {}
}

void Class::function()
{
    helperfunction();
}