我仍然习惯于使用C / C ++,并且我不想“过度包含”库。
我有一个标题,我想在其中放置读取输入数据的方法以及那些我称为的变量,ofun.h
因为它处理与我要优化的目标函数有关的信息。在此标题中,我需要定义为的数据名称string data_name;
。
我应该#include <string>
在此头文件中吗?如果发生这种情况,并且我将其包含<string>
在另一个头文件中,file_io.h
然后在主例程中调用
#include <string>
#include "ofun.h"
#include "file_io.h"
这会引起问题吗?如果是这样,包括这样的标准库以免它们冲突的最佳方式是什么?
如果标头中的任何内容都需要包含在内的声明<string>
,那么我将其包含在标头文件中。确保头文件不冲突的最佳实践是使用包括保护措施:http : //en.wikipedia.org/wiki/Include_guard。基本上,您将标头中的声明括在其中:
#ifndef OFUN_H_
#define OFUN_H_
//your header here
#endif
例如,这就是您要输入的ofun.h。所有标准库头文件中都已经包含了include保护,您只需要确保将它们放在自己的头文件中即可。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句