Maison >développement back-end >C++ >La métaprogrammation avec état est-elle condamnée en C ?

La métaprogrammation avec état est-elle condamnée en C ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-16 02:12:02577parcourir

Is Stateful Metaprogramming Doomed in C  ?

La métaprogrammation avec état : encore mal formée en C

Depuis sa conception, la métaprogrammation avec état, également connue sous le nom de « compteur constexpr », a a été un sujet de fascination et de débat. Cette technique permet aux développeurs de capturer et de récupérer des métadonnées dans les fonctions de modèle, permettant ainsi le stockage d'état dans la métaprogrammation.

Les préoccupations et le CWG

Le groupe de travail C (CWG) a reconnu préoccupations concernant la métaprogrammation avec état. Le numéro actif 2118 note que de telles techniques sont obscures et doivent être mal formées. En mai 2015, le CWG a accepté d'interdire ces pratiques, bien que le mécanisme exact pour ce faire reste indéterminé.

Conséquences et conclusion

Malgré sa légalité dans la C 14, le statut de la métaprogrammation avec état reste dans les limbes. Jusqu’à ce qu’un mécanisme d’interdiction formel soit établi, cette technique peut persister en tant que technique valable. Cependant, il est important de noter que le CWG peut le considérer rétroactivement comme un DR si un mécanisme approprié est développé. Par conséquent, même si la métaprogrammation avec état est actuellement réalisable, son avenir en C est incertain.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn