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 la variable Adresse :
Cast to Pointer :
Accès à la valeur via le pointeur :
Function 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 :
template
T valueOf(const std::string& varName) {
T* varPtr = static_cast(std::addressof(varName));
return *varPtr;
}
Utilisation :
Avec la fonction valueOf, vous pouvez obtenir des valeurs de variables de manière dynamique :
std::cout ("counter")
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3