编程成员函数时有什么更好的做法?

Mat*_*coe 4 class member-functions

我已经看到成员函数在它们所属的类内部以及类外部编写了一个函数原型.我只使用第一种方法编程,但想知道使用另一种或仅仅是个人偏好是否更好?

Ale*_*x B 6

假设你的意思是C++,那么在类之外定义函数总是更好,因为如果你把它放在类中,编译器可能会尝试内联它,这并不总是令人满意的:

  1. 增加代码大小(包含此标头的每个目标文件最终都会在代码中包含该函数的副本).
  2. 在函数定义更改时破坏二进制兼容性.

即使使用内联函数,通常最好将定义放在类之外以提高类公共接口的可读性,除非该函数是一个简单的访问器或其他一行代码.