是否允许在C ++标题中添加Includes?就像在这个例子中一样。
#ifndef SOMEH_H
#define SOMEH_H
#include <fstream>
int funcofsomekind(){
ofstream myfile;
myfile.open ("Stackoverflow.stack");
myfile << "wolololol";
myfile.close();
}
#endif
答案 0 :(得分:2)
您当然会在标题中添加#include <something.h>
,并且通常会在必要时添加。{/ p>
然而,将任何代码放入标题中是非常糟糕的(就像你一样)。至少,在不同的源文件中包含两次通过标题的函数将导致在链接时重复的函数定义。
答案 1 :(得分:1)
从字面上看,所有#include
(从您的角度来看)都是从指定文件中获取文本并将其放在您告诉它的位置。所以是的,你可以将它放在标题中,有时必须。
你甚至可以做类似的事情
vector.txt
huge vector .....
std::vector<int> v {
#include vector.txt
}
答案 2 :(得分:1)
bool is_open(ostream &o);
你必须包括fstream。