.h 文件中应包含哪些内容?

2024-04-01

将代码分成多个文件时,究竟应该将哪些内容放入.h文件以及应该放入的内容.cpp file?


头文件(.h)旨在提供多个文件中所需的信息。类声明、函数原型和枚举等内容通常位于头文件中。一句话,“定义”。

代码文件(.cpp)旨在提供只需要在一个文件中了解的实现信息。一般来说,函数体和内部变量应该/永远不会被其他模块访问,属于.cpp文件。一句话,“落实”。

要确定什么属于哪里,要问自己的最简单的问题是“如果我更改此文件,我是否必须更改其他文件中的代码才能使内容再次编译?”如果答案是“是”,它可能属于头文件;如果答案是“否”,它可能属于代码文件。

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

.h 文件中应包含哪些内容? 的相关文章

  • 数据模板绑定垃圾邮件输出窗口出现错误:找不到管理 FrameworkElemen

    我有问题 System Windows Data 错误 2 找不到目标元素的管理 FrameworkElement 或 FrameworkContentElement BindingExpression 无路径 数据项 空 目标元素是 So
  • 使用 mono/nunit-console/4 在 Mac OS X 控制台上运行测试

    我安装了 Max OS X 10 11 1 上面装有 Xamarin 我编写了简单的测试类 只是为了测试在 Mac OS X 和 Ubuntu 上运行 Nunit 测试 该类实际上有一个返回字符串的方法 using System names
  • 我如何理解这个 C 类型声明?

    double bar int double double double double 在查看讲座幻灯片时 我发现了留给学生的练习 用简单的英语来说 什么是类型bar在这个 C 声明中 Please帮助我解决这个问题 我什至不知道从哪里开始
  • 为什么在创建矩阵类时使用向量不好?

    对于我的矩阵类 我做了 template
  • 如何在 C# / .NET 中创建内存泄漏[重复]

    这个问题在这里已经有答案了 可能的重复 托管代码中是否可能存在内存泄漏 特别是 C 3 0 https stackoverflow com questions 6436620 is it possible to have a memory
  • 类特定的新删除运算符是否必须声明为静态

    标准中是否要求类特定的 new new delete 和 delete 是静态的 我可以让它们成为非静态成员运算符吗 为什么需要它们是静态的 它们被隐式声明为静态 即使您没有键入 static
  • 如何在 SqlDataReader.Read() 期间从死锁异常中恢复

    我的 NET 应用程序的事件日志显示 它在从 Sql Server 读取数据时偶尔会出现死锁 这种情况通常非常罕见 因为我们已经优化了查询以避免死锁 但有时仍然会发生 过去 我们在调用ExecuteReader函数在我们的SqlComman
  • 为什么这个没有特殊字符的正则表达式会匹配更长的字符串?

    我正在使用此方法来尝试查找匹配项 例如 Regex Match A2 TS OIL TS OIL RegexOptions IgnoreCase Success 我得到了真实的结果 我很困惑 我认为这应该返回 false 因为模式中没有特殊
  • 如何在 C# 控制台应用程序中将修饰符(ctrl、alt、shift)按键捕获为单个按键?

    Console ReadKey 仅在按下 正常 键时捕获输入 然后将修饰符 如果有 附加为键信息的一部分 如何将单个修饰键注册为输入 提供了一种解决方案这个链接 https blogs msdn microsoft com toub 200
  • 时间:2019-03-17 标签:c#ThreadSafeDeepCopy

    我一直在阅读很多其他问题以及大量谷歌搜索 但我一直无法找到明确的解决方案 根据我读过的一些最佳实践 类的静态方法应该创建线程安全的 并且实例成员应该将线程安全留给消费者 我想为该类实现深度复制方法 该类本身还有其他引用类型成员 有没有什么方
  • fprintf() 线程安全吗?

    我正在为野人就餐问题的某些变量编写一个 C 解决方案 现在 我创建线程 每个线程都将 FILE 获取到同一个调试文件 在线程内我正在使用 fprintf 进行一些打印 打印的语句不受任何类型的互斥锁等保护 我没有在调试文件中观察到任何交错行
  • 类的成员复制

    在学习 复制成员 概念时 书中给出了如下说法 此外 如果非静态成员是引用 const 或没有复制赋值的用户定义类型 则无法生成默认赋值 我不太明白这个声明到底想传达什么 或者说这个说法指的是哪一种场景 谢谢 该语句与编译器自动为您编写的类
  • vs2008 c#:Facebook.rest.api如何使用它来获取好友列表?

    如何在此基础上取得进一步的进步 获取好友列表的下一步是什么 string APIKey ConfigurationManager AppSettings API Key string APISecret ConfigurationManag
  • 如何获取 QTableView 的标题列表?

    我有一个QTableView我的对话框中的对象 我需要访问该表的水平标题并将它们放入QStringList object 尽管进行了大量搜索 但我在 Qt 文档中找不到如何获取此标头列表 编辑 我发现的最接近的地方是this https w
  • C++ php 和静态库

    我创建了一个library a 其中包含 cpp 和 h 文件 其中包含很多类 嵌套类和方法 我想在 php 示例中包含这个静态库并尝试使用它 我想提一下 我是 php 新手 我已经在 test cpp 文件中测试了我的 libray a
  • 检查 RoutedEvent 是否有任何处理程序

    我有一个自定义 Button 类 当单击它时 打开特定窗口 它总是执行相同的操作 我添加了一个可以在按钮的 XAML 中分配的 Click 事件 就像常规按钮一样 当它被单击时 我想执行 Click 事件处理程序 如果已分配 否则我想执行默
  • 每个数据库多个/单个 *.edmx 文件

    我有一个通过 ADO net 数据服务与数据库交互的项目 数据库很大 近 150 个具有依赖关系的表 该项目几年前开始 当时使用的是数据集 现在我们正在转向实体模型关系 由于我们添加了更多需要使用的表 该模型正在不断增长 这是管理这一切的正
  • C++ Streambuf 方法可以抛出异常吗?

    我正在尝试找到一种方法来获取读取或写入流的字符数 即使存在错误并且读 写结束时间较短 该方法也是可靠的 我正在做这样的事情 return stream rdbuf gt sputn buffer buffer size 但如果streamb
  • 如何在 DropDownList 中保留空格 - ASP.net MVC Razor 视图

    我在视图中通过以下方式绑定我的模型 问题是我的项目文本是格式化文本 单词之间有空格 如下所示 123 First 234 00 123 AnotherItem 234 00 123 Second 234 00 我想保留此项目文本中的空格 即
  • 使我的 COM 程序集调用异步

    我刚刚 赢得 了在当前工作中维护用 C 编码的遗留库的特权 这个dll 公开使用 Uniface 构建的大型遗留系统的方法 除了调用 COM 对象之外别无选择 充当此遗留系统与另一个系统的 API 之间的链接 在某些情况下 使用 WinFo

随机推荐

  • GNU make - 强制 PHONY 目标的依赖顺序

    我有一个如下的 Makefile 我关心的是依赖顺序up clean PHONY up up down docker compose up d PHONY up clean up clean down clean up PHONY down
  • 如何通过 url 从服务器下载音频文件

    如何通过 url 从服务器下载音频文件并将其保存到 SD 卡 我正在使用下面的代码 public void uploadPithyFromServer String imageURL String fileName try URL url
  • 无法在 Azure DevOps CD 上部署 DacPac

    我正在建设DacPac使用 Visual Studio 从数据库项目中获取文件 另外 在调试Drop tab in Advanced Build Settings 我启用了以下选项 不要丢弃凭据 不要删除数据库角色 不要删除数据库范围的凭据
  • 向 UIScrollView 添加垂直两指滑动手势

    根据如何为所有屏幕的 iPhone 应用程序添加垂直滑动手势 https stackoverflow com questions 4640000 how to add a vertical swipe gesture to iphone a
  • Predis 给出“从服务器读取行时出错”

    我在用predis https github com nrk predis 它已订阅频道并正在收听 它抛出以下错误 如下 并在 60 秒后死亡 这肯定不是我的网络服务器错误或其超时 有一个类似的问题正在讨论here https github
  • 为像素分配负值

    使用某些标准 图像中有一些我不感兴趣的像素 所以 我想忽略它们 我只是想问一下我所遵循的方法是否可以接受 我已为这些像素分配了负值 这样可以接受吗 当像素具有负值时意味着什么 它会在图像上有一些表现吗 如果您的数据类型允许 例如有符号整数
  • 如何判断无扩展名图像是 png 还是 jpeg

    不久前 我保存了一些由网络服务生成的图像 因此文件名例如 ysauyft87ggsa67fgeg w 1600 我可以打开并操作这些图像 好的 我只想知道它们是什么编码 几乎可以肯定是 png 或 jpeg 我已经在 OSX 中尝试过 获取
  • Chrome 在来自第 3 方 IFRAME 时不会保留我的 _SESSION 变量,但在直接访问时可以完美运行

    直到几周后 我所有的网站都运行良好 我编写代码并在 CodeCanyon 上出售 但最近 今天 我注意到我无法再登录我在那里出售的 PHP 小代码片段 如果我直接在我的域上工作 就像在 URL 栏中输入链接一样 那么在任何浏览器中一切都会完
  • 在Python中使用numpy和scipy在matplotlib中制作分箱箱线图

    我有一个包含值对的二维数组 我想通过 x 值的不同箱来绘制 y 值的箱线图 IE 如果数组是 my array array 1 40 5 4 5 60 然后我想对 my array 0 进行分箱 然后对于每个分箱 生成属于每个框中的相应 m
  • 语法错误:WITH 在此位置输入无效

    所以我有这个类似的请求 WITH customers in usa AS SELECT customerName state FROM customers WHERE country USA SELECT customerName FROM
  • 查找字符串中重复的单词并计算重复次数

    我需要找到字符串上重复的单词 然后计算它们重复的次数 基本上 如果输入字符串是这样的 String s House House House Dog Dog Dog Dog 我需要创建一个不重复的新字符串列表 并将每个单词的重复次数保存在其他
  • 更改 viewpager 中当前片段的背景图像

    我在 viewpager 中有 4 个片段 FragmentStatePagerAdapter 在我的 viewpager 所在的活动中 FragmentStatePagerAdapter 的 newInstance 方法将布局 id 作为
  • Quarkus & Microprofile:是否有更好的方法将 application.properties 中的属性使用到 @ClientHeaderParam 中?

    我正在尝试构建一个简单的应用程序来调用 APIquarkus rest client 我必须注入一个 API 密钥作为标头 该标头对于 API 的所有资源都是相同的 所以我想把这个API Key的值 这取决于环境 dev qa prod 在
  • 将焦点设置回文本框

    在用户移动到用户表单上的下一个字段之前 我需要检查文本框是否为空 空或空白 这是检查文本框是否为空 null 空白的代码 我的问题是它不会将焦点返回到文本框 而是移动到用户表单中的下一个字段 Private Sub txtTDYLocati
  • 3 层模式与 MVVM 的比较

    我不知道MVVM 我总是遵循 3 层模式 其中一层是 UI 另一层是业务层 最后一层是数据访问层 在这一层中 我们将请求从 UI 发送到业务层 业务层与数据访问层进行交互 在这种模式下 一切都很顺利 那么我的问题是为什么要学习 MVVM M
  • 取消引用后 *p++ 会递增吗? [复制]

    这个问题在这里已经有答案了 我不太确定这里的顺序是什么 是吗 1 增加指针p的值后取消引用它 2 在增加指针 p 的值之前先取消引用它 增量和取消引用之间没有顺序 但是 那 运算符应用于结果p 这是原始值p在增量之前
  • 仅在平板电脑上支持 Android N+ 分屏

    有没有办法仅在足够大的屏幕上配置对活动的多窗口支持 例如药片 https developer android com preview features multi window html configuring https develope
  • SQL Server INNER JOIN 具有多个关系的多个内连接

    我有以下查询 它工作得很好 但我需要从另一个名为 FB 的表中提取 BUserName 该表具有与 FU 表中的 UserID 相关的 UserID 字段 这可能吗 SELECT TOP 100 FF XID FF YID FF Title
  • MvcSiteMap 生成菜单而不弄乱面包屑

    我正在配置我的 asp net mvc 5 应用程序以使用 MvcSiteMap 库 到目前为止 我可以成功配置面包屑 然而 菜单模板比面包屑要复杂得多 我有小胡子版本的菜单 我没有显示 ul 标签
  • .h 文件中应包含哪些内容?

    将代码分成多个文件时 究竟应该将哪些内容放入 h文件以及应该放入的内容 cpp file 头文件 h 旨在提供多个文件中所需的信息 类声明 函数原型和枚举等内容通常位于头文件中 一句话 定义 代码文件 cpp 旨在提供只需要在一个文件中了解