成员函数定义

2024-03-29

正确的做法是什么:

定义成员(类)函数inside班上?

定义成员(类)函数outside班上?

Thanks.


假设您正在谈论这三种可能性:

  1. 头文件中的类定义中定义的方法。
  2. 方法在头文件中定义在类定义之外。
  3. 方法定义在实现文件中的类定义之外。

那么项目和公司指南可能会迫使您始终使用(1)或(3)。

当你有选择时,恕我直言,最好适应当前的情况,考虑诸如

  • 您想要一个仅标头模块吗?那么(1)默认,(2)可能。
  • 手段是大猛兽吗?然后(2)或(3)。
  • 模板方法专业化?然后(2)或(3)。
  • 存在构建时问题(构建缓慢)?表示(3)。
  • 模板类? (1) 或可能 (2)

但除非你实际上被迫做出选择,否则首先要考虑clarity你的代码。

干杯,

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

成员函数定义 的相关文章

随机推荐

  • 当应用于基本类型时,通过引用进行 const 调用是否会提高性能?

    对于对象 尤其是字符串 按引用调用比按值调用更快 因为函数调用不需要创建原始对象的副本 使用const 还可以确保引用不被滥用 我的问题是 如果使用基本类型 如 bool int 或 double const 按引用调用是否也会更快 voi
  • 在多个环境中执行编码的 UI 测试

    现在 我的编码 UI 测试使用它们的 app config 来确定它们执行的域 该域与环境具有 1 1 关系 为了简化它 测试网 www UAT com www prod com 在 App config 中我有类似的内容
  • Mathematica 什么时候创建新符号?

    再会 我早些时候以为数学在当前符号中创建新符号 Context在转换输入字符串的阶段 即分配给InString 来输入表达式 即分配给In 但一个简单的例子打破了这一解释 In 1 f During evaluation of In 1 I
  • 在 .NET Core 3.0 中加载 exe 时出现错误的 IL 格式

    我有两个 NET Core 3 0 WPF 项目 其中之一 我发布到一个名为 DefaultPlugin exe 的可执行文件中 在我的第二个 WPF 项目中 我尝试使用 Assembly Load 加载第一个项目并读取类型 但是 当我这样
  • 根据android中图表引擎饼图中的屏幕大小标记文本大小

    我成功使用图表引擎显示饼图 我想根据屏幕尺寸自定义标签文本大小 提前致谢 这个问题归结为解决问题 achartengine 的设计似乎考虑到了原始像素 而显示质量和像素密度在过去几年中显着提高 achartengine 示例中的标签在我的
  • LESS mixin 变量类名

    我正在使用 Font Awesome 4 0 0 并且想要在 LESS 中执行类似的操作 btn github btn btn primary margin left 3em i fa css prefix fa css prefix gi
  • 在C++中,如何读取一个文本文件的内容,并将其放入另一个文本文件中?

    我想阅读a的内容input txt文件并将其放入output txt文件 我尝试在下面的代码中执行此操作 但没有成功 我是新手C 文件操作 你能告诉我该怎么做吗 include
  • wiki 如何处理多个同时编辑?

    这件事一直萦绕在我的脑海里 所以我想我还是去问问吧 wiki 如何处理对同一内容的多次编辑 这是我所要求的一个简单的例子 假设一个页面包含以下内容 我是一页 现在假设有两个人去编辑该页面 每人加一句话 第一个人 我是一页 我是同一页的第二句
  • 在RSelenium中指定下载文件夹

    我在用RSelenium导航至包含下载文件按钮的网页 我使用 RSelenium 单击此按钮来下载文件 但是 文件默认下载到我的文件夹 下载 中 而我希望将文件下载到我的工作目录中 我尝试指定一个 chrome 配置文件 如下所示 但这似乎
  • 如果我在 Fragments 中使用 ViewBinding,onDestoryView() 之后会出现 NPE 吗?

    我正在尝试在片段中使用 ViewBinding 首先 谷歌是这样说的 注意 碎片比他们的观点更长久 确保清除片段的 onDestroyView 方法中对绑定类实例的所有引用 在片段中使用视图绑定 https developer androi
  • 如何在 gnuplot 中设置网格间距

    我的 yaxis 从 0 到 100 我想要每 10 个单位后有一条网格线 我怎样才能做到这一点 即如何在每10个单位之后绘制网格线 看看 帮助网格 你可能想做类似的事情 set yrange 0 100 set xrange 0 10 s
  • 为什么 DWORD 值通常以十六进制表示?

    我试图理解为什么 DWORD 值经常在 MSDN 上以十六进制描述 我分析这个的原因是因为我试图从根本上理解为什么所有这些不同的数字数据类型存在 一位当地导师向我暗示 DWORD 和其他 Microsoft 类型的创建与处理器的发展有关 这
  • 如何接受像“2.0”这样的整数,但例如“2.1”作为浮点数? Python

    我试图让用户在输入字母或非整数时收到错误消息 并且当输入整数时 程序将继续显示该整数的平方和立方 我的老师不希望代码出现任何 中断 或任何 ValueErrors print Squaring and cubing integer prog
  • 将 xgboost.Booster 类转换为 XGBRegressor 或从 xgboost.Booster 加载 XGBRegressor

    我从 Sagemaker 获得了一个模型 其类型为
  • 使用标签和优先级记录到 Crashlytics,而无需发送到 logcat

    根据以下说明 有两种方式登录 Crashlytics文档 https docs fabric io android crashlytics enhanced reports html custom logging Crashlytics l
  • 如何捕获通过读/写文件引发的所有异常?

    在Java中 有没有办法获取 捕获 所有exceptions而不是单独捕获异常 如果需要 您可以向方法中添加 throws 子句 那么你不必立即捕获检查的方法 这样 您就可以抓住exceptions稍后 也许与其他时间同时 exceptio
  • 将 SWIG 与构建系统结合使用[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 有人有使用 SWIG 界面生成器 的
  • Codeigniter 数据库插入失败

    目前在我的控制器中 当添加新数据时 我会验证输入 如果存在任何问题 它会让用户知道 否则它将数据传递到模型以插入到数据库中 现在我如何检查插入语句在模型中是否正常工作 并让用户知道是否没有 像下面这样的插入语句是否返回 true 或 fal
  • HTML5 视频自动播放且声音未静音

    我需要在我的网站上实现本地自动播放视频 不过 我知道 当视频没有 静音 属性时 较新的浏览器 即 Chrome Mozilla 和 Safari 会阻止自动播放 所以 有没有办法通过 HTML 或 Javascript 中的任何技巧在 HT
  • 成员函数定义

    正确的做法是什么 定义成员 类 函数inside班上 定义成员 类 函数outside班上 Thanks 假设您正在谈论这三种可能性 头文件中的类定义中定义的方法 方法在头文件中定义在类定义之外 方法定义在实现文件中的类定义之外 那么项目和