Warum fügt C ++ 17 Namespaces und Enumeratoren Attribute hinzu?

8

Wie in den Fragezuständen weiß ich, dass es Attribute für Namespaces und Enumeratoren in C ++ 17 geben wird. Wie wird sich das auf unseren Code auswirken? Was sind diese Attribute und was werden sie uns erlauben? Ich konnte keine gute Quelle finden, um diese neue Funktion zu verstehen.

    
DawidPi 12.09.2015, 17:42
quelle

1 Antwort

10

Wenn Sie derzeit einen bestimmten Enum-Wert abschreiben möchten, müssen Sie sich auf Compiler-Erweiterungen verlassen. Zum Beispiel würden Sie in clang veraltete enum-Werte folgendermaßen angeben:

%Vor%

Sobald Enums und Namespaces Attribute unterstützen, gibt es einen Standard-Cross-Compiler-Weg zur Implementierung ähnlicher Funktionen:

%Vor%

Andere Attribute mögen eines Tages die Relevanz für Namespaces und enumerierte Werte finden, aber wie der Proposal Writer sagt:

  

In diesem Artikel wird vorgeschlagen, diese Probleme durch Zulassen von Attributen zu beheben   in Enumeratoren und Namespaces angegeben werden und erweitert die   [[deprecated]] - Attribut, das wie ursprünglich auf diese Entitäten angewendet werden soll   beabsichtigt.

    
Trevor Hickey 12.09.2015, 18:43
quelle

Tags und Links