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

时间:2015-12-07 14:34:58

标签: c++ architecture

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

  • 它不会使用此类成员
  • 它不会在其他类中使用

我认为有两种解决方法:

  1. 使用静态方法定义辅助类并使用它
  2. 将其定义为cpp文件中的static函数
  3. 在第一种情况下(据我所知),这些功能将在库符号列表中可见。在第二种情况下,它们将不可见,但它似乎并不是一种好的做法。我应该选择哪种方式?

1 个答案:

答案 0 :(得分:2)

“使用静态方法的辅助类”是一种在C ++中没有位置的Java主义 文件范围内的静态函数是C-ism。

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

namespace
{
    void helperfunction() {}
}

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