C++ 包含防护

2023-11-27

所以我知道如何使用标准在我自己的头文件中放置包含保护

#ifndef ...
#define ...

现在,我的问题是关于包含不属于我自己的库。将是一个很好的例子。我有一个需要使用字符串的头文件,所以我执行以下操作

foo.h

#ifndef FOO_H
#define FOO_H

#include <string>

... code etc ...

#endif

现在,如果我有另一个名为..的头文件,bar.h,还需要使用<string>,如何防止多重包含? STL 是否已包含防护措施?


STL 库也有包含守卫,任何好的库都应该这样做。

#ifndef _GLIBCXX_STRING
#define _GLIBCXX_STRING 1

这是来自 gcc 的

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

C++ 包含防护 的相关文章

  • 与 for_each 或 std::transform 一起使用时,如何调用 C++ 函子构造函数

    我以前从未使用过 C 函子 所以我只是想了解它们是如何工作的 例如假设我们有这个函子类 class MultiplyBy private int factor public MultiplyBy int x factor x int ope
  • 是否可以使用 http url 作为 DirectShow .Net 中源过滤器的源位置?

    我正在使用 DirectShow Net 库创建一个过滤器图 该过滤器图通过使用 http 地址和 WM Asf Writer 来流式传输视频 然后 在网页上 我可以使用对象元素在 Windows Media Player 对象中呈现视频源
  • 在 C 语言中,为什么数组的地址等于它的值?

    在下面的代码中 指针值和指针地址与预期不同 但数组值和地址则不然 怎么会这样 Output my array 0022FF00 my array 0022FF00 pointer to array 0022FF00 pointer to a
  • 无法继承形状

    为什么我不能使用继承 a 的类Shapes class http msdn microsoft com en us library ms604615 28v vs 90 29 我需要延长Rectangle具有一些方法的类 但我想以与使用相同
  • strlen() 编译时优化

    前几天我发现你可以找到编译时strlen使用这样的东西 template
  • 2个对象,完全相同(除了命名空间)c#

    我正在使用第三方的一组网络服务 但遇到了一个小障碍 在我手动创建将每个属性从源复制到目标的方法之前 我想我应该在这里寻求更好的解决方案 我有 2 个对象 一个是 Customer CustomerParty 类型 另一个是 Appointm
  • 如何修复错误:“检测到无法访问的代码”

    我有以下代码 private string GetAnswer private int CountLeapYears DateTime startDate return count String answer GetAnswer Respo
  • 为什么这个 makefile 在“make clean”上执行目标

    这是我当前的 makefile CXX g CXXFLAGS Wall O3 LDFLAGS TARGET testcpp SRCS main cpp object cpp foo cpp OBJS SRCS cpp o DEPS SRCS
  • JavaScript 错误:MVC2 视图中的条件编译已关闭

    我试图在 MVC2 视图页面中单击时调用 JavaScript 函数 a href Select a JavaScript 函数 function SelectBenefit id code alert id alert code 这里 b
  • 来自嵌入图像的 BitmapSource

    我的目标是在 WPF 窗口上重写 OnRender 方法中绘制图像 someImage png 它是嵌入资源 protected override void OnRender System Windows Media DrawingCont
  • wordexp 失败时我们需要调用 wordfree 吗?

    wordexp 失败时我们需要调用 wordfree 吗 在某些情况下 调用 wordfree 似乎会出现段错误 例如 当 wordfree 返回字符串为 foo bar 的错误代码时 这在手册页中并不清楚 我已经看到在某些错误情况下使用了
  • 如何防止 Blazor NavLink 组件的默认导航

    从 Blazor 3 1 Preview 2 开始 应该可以防止默认导航行为 https devblogs microsoft com aspnet asp net core updates in net core 3 1 preview
  • ASP.NET Core 中间件与过滤器

    在阅读了 ASP NET Core 中间件之后 我对何时应该使用过滤器以及何时应该使用中间件感到困惑 因为它们似乎实现了相同的目标 什么时候应该使用中间件而不是过滤器 9频道有一个关于此的视频 ASP NET 怪物 91 中间件与过滤器 h
  • 读取依赖步行者输出

    I am having some problems using one of the Dlls in my application and I ran dependency walker on it i am not sure how to
  • 使用 gcc 时在头文件中查找定义的好方法是什么?

    在使用 gcc 时 有人有推荐的方法在头文件中查找定义吗 使用 MSVC 时 我只需右键单击并选择 转到定义 这非常好 我使用过 netbeans gcc 它确实有代码帮助 包括到定义的超链接 所以这是一种选择 但是 我想知道是否有任何其他
  • Xamarin Forms Binding - 访问父属性

    我无法访问页面的 ViewModel 属性以便将其绑定到 IsVisible 属性 如果我不设置 BindingContext 我只能绑定它 有没有办法可以在设置 BindingContext 的同时访问页面的 viewmodel root
  • 如何在C#中控制datagridview光标移动

    我希望 datagridview 光标向右移动到下一列 而不是在向单元格输入数据后移动到下一行 我试图通过 dataGridView1 KeyDown 事件捕获键来控制光标 但这并不能阻止光标在将数据输入到单元格后移动到下一行 提前感谢你的
  • winform c# 中的弹出窗口

    我正在开发一个需要弹出窗口的项目 但问题是我还希望能够通过表单设计器在此弹出窗口中添加文本框等 所以基本上我有一个按钮 当您单击它时 它将打开我在表单设计器中设计的另一个窗口 我一直在谷歌搜索 但还没有找到我需要的东西 所以我希望你们能帮助
  • 声明一个负长度的数组

    当创建负长度数组时 C 中会发生什么 例如 int n 35 int testArray n for int i 0 i lt 10 i testArray i i 1 这段代码将编译 并且启用 Wall 时不会出现警告 并且似乎您可以分配
  • 如何为有时异步的操作创建和实现接口

    假设我有数百个类 它们使用 计算 方法实现公共接口 一些类将执行异步 例如读取文件 而实现相同接口的其他类将执行同步代码 例如将两个数字相加 为了维护和性能 对此进行编码的好方法是什么 到目前为止我读到的帖子总是建议将异步 等待方法冒泡给调

随机推荐

  • 在 adb shell 中找不到 grep 命令

    我的手机通过adb连接到电脑后 进入adb shell 然后输入grep给我 grep not found 这是我的adb安装问题还是我的手机问题 如何让 grep 适用于我的设备 PS 这就是为什么我认为这可能是我的手机有问题的原因 而不
  • 错误:使用react-redux时,提供商的钩子调用无效

    我正在制作一个应用程序来从 url 获取参数并根据 url 的值工作 为了做到这一点 我尝试实现 redux 我想我编写了大部分代码 并且我是 React 和 Redux 的初学者 当我在 index js 文件中插入 Provider 时
  • 使用 Gmail 发送邮件的脚本:无法在 SMTP 服务器上进行身份验证

    我很难让 PHP 脚本使用 SMTP Gmail 帐户发送电子邮件 我正在使用 PHP 和 Symfony2 SwiftMailer 但问题似乎出在我的 Gmail 帐户配置上 在我的日志中 我最终收到以下错误消息 ERROR Except
  • 如何在 android ExoPlayer 中显示字幕

    我正在使用 Exoplayer 来播放 URL 我想在 exoplayer 中添加 srt 文件 但我认为播放器不支持srt文件 所以我将文件内容放入 1 个变量中 如何在 android exoplayer 中显示字幕 有点晚了 但它可能
  • GKE 集群升级到 1.14.6 后,VPN 无法访问内部网络

    我们将现有的开发集群从 1 13 6 gke 13 升级到 1 14 6 gke 13 我们的 Pod 无法再通过 Google Cloud VPN 访问我们的内部网络 我们的生产集群 仍在 1 13 上 共享相同的 VPC 网络和 VPN
  • 集合的快速交集:C++ 与 C#

    在我的机器 四核 8GB RAM 上 运行 Vista x64 Business 使用 Visual Studio 2008 SP1 我试图非常快速地求出两组数字的交集 我在 C 中实现了两种方法 在 C 中实现了一种 到目前为止 C 方法
  • JDK 和 JRE 有什么区别?

    编者注 这个问题是在 2009 年提出的 当时的世界已经不同了 2022 年 标准开源 OpenJDK 仅包含 JDK JDK 和 JRE 有什么区别 它们的作用是什么 我什么时候应该使用其中之一 The JRE is the Java运行
  • 如何检查系统是大端还是小端?

    如何检查系统是大端还是小端 在 C C 中 int n 1 little endian if true if char n 1 也可以看看 Perl版本
  • 默认显示 android SearchView EditText

    我在 android 中使用 SearchView 当我第一次登陆该页面时 所有可见的都是搜索图标 然后 当我单击该图标时 会出现 EditText 如何让 EditText 从一开始就可见 这是我的 xml
  • 计算向量中的出现次数

    该程序从 txt 文件中读取数字字符串 将它们转换为整数 将它们存储在向量中 然后尝试以有组织的方式输出它们 如下所示 如果 txt 文件显示 7 5 5 7 3 117 5 程序输出 3 5 3 7 2 117 因此 如果该数字出现多次
  • 是否可以在 Access 中创建递归查询?

    我有一个job table Id ParentID jobName jobStatus 根 ParentID 为 0 是否可以在 Access 中创建查询来查找给定的根job 数据库是MDB 没有链接表 Access版本是2003 job可
  • 从网络摄像头获取最新帧

    我正在使用 OpenCV2 通过网络摄像头拍摄一些延时照片 我想提取网络摄像头看到的最新视图 我尝试像这样完成这个任务 import cv2 a cv2 VideoCapture 1 ret frame a read The followi
  • 安全地散列密码 - 这么多相互矛盾的建议!

    我读到了很多关于如何安全存储密码的相互矛盾的建议 我唯一确定的是不要使用MD5 我见过有人提倡使用 PHPbcrypt函数 这似乎会占用服务器的处理器 我见过提倡盐的人 也见过提倡不使用盐的人 一切都是那么的不明朗 关于如何安全存储密码是否
  • 电影播放器​​的激活状态错误 (1)

    你好 我正在从视频网址捕获视频的缩略图 我正在使用以下代码来捕获缩略图 MPMoviePlayerController moviePlayer MPMoviePlayerController alloc initWithContentURL
  • 如何在android中播放来自url的音频文件

    我需要在我的应用程序中播放远程服务器的音频文件 当我使用本地主机服务器 使用 WAMP 进行测试时 我可以玩 当从服务器提供相同的文件时 它不起作用 文件没有扩展名 内容是MP3 String fileUrl http 192 168 1
  • MonoTouch:如何保护我的应用程序

    我使用 Dotfuscator 来保护我的应用程序免受逆向工程的影响 我在 Windows 应用程序中加密了 dll 文件 但如何在 OSX MonoTouch 中做到这一点 从ipa中提取dll 然后在windows中混淆dll 将加密的
  • 使用 Babel Standalone 渲染单个 React 组件,仅包含 index.html 和 Component

    这里是 React 菜鸟 我正在玩 React 我有一个简单的组件可以在我的 component js 中渲染 它包含在我的index html 文件中 我包含了以下脚本React ReactDOM and babel in the hea
  • 取消选中 RadioButton 的 - 替代方法

    有没有可能通过单击选中的单选按钮来取消选中单选按钮 RadioGroup radioGroup RadioButton radioButton1 RadioButton radioButton2 RadioButton radioButto
  • 有人使用 DNOA 实施 2 Legged OAuth 吗?

    我正在尝试在 CSharp 中创建一个身份验证模块 其中我需要使用 DotNetOpenAuth DNOA 库来验证来自请求的签名 该库仅具有消费者密钥和秘密 如果您有任何使用 DNOA 实现 2 Legged OAuth 的示例 那将会很
  • C++ 包含防护

    所以我知道如何使用标准在我自己的头文件中放置包含保护 ifndef define 现在 我的问题是关于包含不属于我自己的库 将是一个很好的例子 我有一个需要使用字符串的头文件 所以我执行以下操作 foo h ifndef FOO H def