class - 编写成员函数时有什么更好的做法?

标签 class member-functions

我已经看到成员函数在它们所属的类内部和类外部都使用类内部的函数原型(prototype)进行了编程。我只使用过第一种方法进行编程,但想知道使用另一种方法或只是个人喜好是否更好?

最佳答案

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

  • 代码大小的增加(每个包含此 header 的目标文件最终都可能在其代码中包含该函数的副本)。
  • 函数定义更改时破坏二进制兼容性。

  • 即使使用内联函数,通常最好将定义放在类之外以提高类公共(public)接口(interface)的可读性,除非该函数是一个普通的访问器或其他一些单行器。

    关于class - 编写成员函数时有什么更好的做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/165474/

    相关文章:

    python - 在不调用 __init__ 方法的情况下使用 python 类?

    Java在Main类中调用方法

    c++ - 作为私有(private)成员的静态数组

    C++:为什么引入 std::vector::data 成员函数?

    python - 成员函数装饰器和 self 参数

    c++:允许临时对象调用非常量成员函数的设计理念是什么?

    c++ - 将 C++ 成员函数指针传递给 STL 算法

    java - 在java中的3个类中调用另一个类中的方法

    c++ - 使用 push_back 在类中填充结构的值

    c++ - 仅在类的第一个实例初始化时调用的成员函数 (C++)