gpt4 book ai didi

c++ - 我应该在哪里包含

转载 作者:太空狗 更新时间:2023-10-29 23:51:06 25 4
gpt4 key购买 nike

我仍在习惯使用 C/C++,我不想“过度包含”库。

我有一个标题,我想在其中放置读取输入数据的方法以及那些我称之为 ofun.h 的变量。因为它处理与我要优化的目标函数有关的信息。在此 header 中,我需要定义为 string data_name; 的数据名称.

我应该 #include <string>在这个头文件里面?如果发生这种情况,我包括 <string>在另一个头文件中,说 file_io.h ,然后在我的主例程中调用

#include <string>
#include "ofun.h"
#include "file_io.h"

这会引起问题吗?如果是这样,包含这样的标准库以免它们发生冲突的最佳方式/位置是什么?

最佳答案

如果 header 中的任何内容需要包含在 <string> 中的声明,我会继续将它包含在头文件中。确保头文件不冲突的最佳实践是使用包含保护:http://en.wikipedia.org/wiki/Include_guard .基本上,您将 header 中的声明包围起来:

#ifndef OFUN_H_
#define OFUN_H_

//your header here

#endif

例如,这是您放入 ofun.h 中的内容。所有的标准库头文件都已经包含了 include guard,你只需要确保将它们放在你自己的头文件中。

关于c++ - 我应该在哪里包含 <string>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24063011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com