スクリプト エンジンの効率を高めるには、文字列をキーとし関数ポインターを含む STL マップを採用します。値を使用することは、従来の「if..else if」アプローチと比較して有利であることがわかります。このソリューションにはいくつかの利点があります。
実装:
<code class="cpp">typedef std::function<void()> ScriptFunction; typedef std::unordered_map<std::string, ScriptFunction> script_map; // ... script_map m; m.emplace("blah", &some_function); // ... void call_script(const std::string& pFunction) { auto iter = m.find(pFunction); if (iter == m.end()) { // not found } iter->second(); }</code>
これこのアプローチにより、スクリプト エンジンでの関数呼び出しがより高速かつ効率的に実行されます。
以上がSTL マップはどのようにしてスクリプト エンジンの効率を向上させることができますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。