Pour améliorer l'efficacité de votre moteur de script, utilisez une carte STL avec des chaînes comme clés et des pointeurs de fonction comme les valeurs s'avèrent avantageuses par rapport à l'approche conventionnelle "if..else if". Cette solution offre plusieurs avantages :
Implémentation :
<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>
Ceci Cette approche garantit un appel de fonction plus rapide et plus efficace dans votre moteur de script.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!