源文件 v.s 中 class 定义的函数。内联函数

function of class definition in source file v.s. inline functions

我正在重构一个大型遗留源文件 "big.cpp",其中包含多个 class 定义,仅在该文件中使用。例如,在 big.cpp

class A {
  inline void func1() {
    // bla bla ...
  }
  void func2() {
    // bla bla ...
  }
}

有些函数明确带有内联关键字,有些则没有。

因为这些 classes 只在 cpp 文件中,甚至不在头文件中,它非常混乱并且无法进行单元测试等,所以我试图将它拆分成更小的文件,作为 "a.h"、"a.cpp";那我有个顾虑。重构后,这些函数是否应该被视为内联函数?例如,我想 func1() 应该是内联的,但是 func2() 呢?

我担心,如果将一些以前的内联函数更改为非内联,它们的性能会变慢,所以我必须小心。

如果您在示例中的 class 中定义成员函数,例如 func2,则隐含 inline