Heim > Backend-Entwicklung > C++ > Ist Stateful Metaprogramming in C 17 noch legal?

Ist Stateful Metaprogramming in C 17 noch legal?

DDD
Freigeben: 2024-11-20 22:14:13
Original
236 Leute haben es durchsucht

Is Stateful Metaprogramming Still Legal in C  17?

Legalität von Stateful Metaprogramming in C 14 vs. C 17

Originalausgabe:

Stateful Metaprogramming unter Verwendung von Techniken wie constexpr-Zähler ermöglichen die Zustandsmanipulation in der Metaprogrammierung. Obwohl unter C 14 zulässig, wurden Bedenken hinsichtlich der Konformität mit der Semantik der Sprache geäußert.

Frage:

Hat sich der Status der Stateful Metaprogramming in C 17 geändert?

Aktives CWG-Problem 2118:

Das C-Standards-Komitee hat dies als potenzielles Problem erkannt und es als aktives CWG-Problem 2118 eingestuft. Die Sorge besteht darin, dass die Verwendung von Friend-Funktionen in Vorlagen zum Erfassen und Abrufen des Metaprogrammierungsstatus geheimnisvoll ist und sollte als schlecht geformt erklärt werden.

Auflösung in C 17:

Zum Zeitpunkt der CWG-Sitzung im Mai 2015 ist das Problem weiterhin ungelöst. Das Komitee stimmte zwar zu, dass solche Techniken fehlerhaft sein sollten, der Mechanismus zu ihrem Verbot muss jedoch noch festgelegt werden.

Aktuelle Implikation:

Stateful Metaprogramming-Techniken bleiben technisch gesehen bestehen in C 17 legal. Wenn jedoch letztendlich ein Verbotsmechanismus implementiert wird, kann er diese Techniken rückwirkend zu nicht konformem Code machen.

Das obige ist der detaillierte Inhalt vonIst Stateful Metaprogramming in C 17 noch legal?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage