Accès à la valeur d'une variable à partir d'une chaîne représentant le nom de la variable en C
En C, il est possible d'obtenir dynamiquement la valeur d'une variable en utilisant son nom sous forme de chaîne. Cette technique, communément appelée réflexion, permet des capacités flexibles de débogage et d'introspection.
Pour y parvenir, vous pouvez utiliser les étapes suivantes :
Obtenir une variable Adresse :
Cast to Pointer :
Valeur d'accès via le pointeur :
Fonction Wrapper :
Pour rendre le processus plus pratique, vous pouvez créer une fonction qui prend une chaîne représentant le nom de la variable et renvoie la valeur de la variable. Cette fonction simplifie les étapes décrites ci-dessus :
<code class="cpp">template <typename T> T valueOf(const std::string& varName) { T* varPtr = static_cast<T*>(std::addressof(varName)); return *varPtr; }</li></ul> </li> </ol> <p><strong>Utilisation :</strong></p> <p>Avec la fonction valueOf, vous pouvez obtenir les valeurs des variables de manière dynamique :</p> <pre class="brush:php;toolbar:false"><code class="cpp">std::cout << valueOf<int>("counter") << std::endl;</code>
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!