目的:コードのさまざまな部分で、ファイル(私の場合はテクスチャとフォント)をロードしています。したがって、ファイルのダウンロードは、プログラムの実行時にいつでも発生する可能性があります(ただし、すべてキャッシュされますが、それでも)。ダウンロードは、起動時に1回だけ発生します。
可能な解決策:
- キャッシュオブジェクトにテクスチャとフォントを手動で入力します。
- フォルダ/textures/ /fonts/をスキャンします
- 魔法
実際には、2番目のケースのようにテクスチャに対して行います(メモリにとって重要ではないため)。また、フォントについては、最初のケースを使用します(サイズごとにレンダリングが異なるため)。しかし、それでも私はこのプロセスをどのように自動化できるのか疑問に思っています。
問題を絞り込むためにテクスチャとフォントを忘れて、文字列を含むベクトルを検討する必要があります。
class Files{
static vector<string> files;
static void addFile(string file){/* magic. may be template<string file> */}
static void loadFiles()
{
for(auto file:files){
cout << file; //for example
}
}
}
int main(){
Files::loadFiles();//=> foobarsmthing
Files::addFile("foo");
Files::addFile("bar");
Files::addFile("smthing");
return 0;
}
テンプレートを使用していくつかの式を計算できることを知っています。そして、私の質問に対する答えはただ「いいえ」だと思います。