C++ ヘッダーにインクルードを追加することはできますか? この例のように。
#ifndef SOMEH_H
#define SOMEH_H
#include <fstream>
int funcofsomekind(){
ofstream myfile;
myfile.open ("Stackoverflow.stack");
myfile << "wolololol";
myfile.close();
}
#endif
必ずヘッダーを追加#include <something.h>
します。必要に応じて、ヘッダーを追加することがよくあります。
ただし、コードをヘッダーに入れることは非常に悪い考えと見なされます(あなたがしたように)。少なくとも、異なるソース ファイルのヘッダーを介して関数を 2 回インクルードすると、リンク時に関数定義が重複することになります。
文字通りすべて#include
(あなたの観点から) は、指定されたファイルからテキストを取得し、指定した場所に配置するだけです。はい、ヘッダーに入れることができます。
次のようなこともできます
vector.txt
huge vector .....
std::vector<int> v {
#include vector.txt
}
はい、ただし、ヘッダーをインクルードする人は誰でも、自分の名前空間に多くの追加コードを取得します。より適切なのは、関数を cpp ファイルに入れ、関数プロトタイプに必要なヘッダーのみを含めることです。たとえば、ヘッダーに次のような関数がある場合
bool is_open(ostream &o);
fstream を含める必要があります。