structured-bindings

___ tag123c14 ___ C ++ 14 ist der Name des C ++ - Standards, der 2014 genehmigt wurde. Er baut auf dem vorherigen C ++ 11-Standard auf und verbessert die Kernsprache und die Standardbibliothek sowie einige Funktionen. ___ qstnhdr ___ Mit welchem ​​Typ von Strukturen können strukturierte Bindungen arbeiten? ___ tag123c ___ C ++ ist eine universelle Programmiersprache. Es wurde ursprünglich als Erweiterung von C entworfen und behält eine ähnliche Syntax, ist aber jetzt eine völlig andere Sprache. Verwenden Sie dieses Tag für Fragen zu Code, der mit einem C ++ - Compiler kompiliert werden soll. ___ tag123c17 ___ C ++ 17 ist der Name des 2017 genehmigten C ++ - Standards. Er baut auf dem vorherigen C ++ 14-Standard auf und verbessert die Kernsprache und die Standardbibliothek sowie einige neue Sprachfunktionen. ___ tag123structurebindings ___ Structured bindings sind ein Feature, das für C ++ 1z (das voraussichtlich als C ++ 17 veröffentlicht wird) vorgeschlagen wird und das Deklarieren mehrerer Variablen ermöglicht, die aus einem Tupel oder einer Struktur initialisiert werden. ___ answer40901760 ___

Wenn Sie %code% , %code% und %code% für Ihren Typ nicht spezialisieren möchten, benötigt [dcl.decomp] Folgendes:

  

Andernfalls müssen alle nicht-statischen Datenmitglieder von %code% öffentliche direkte Mitglieder von %code% oder derselben eindeutigen Gruppe sein   Öffentliche Basisklasse von %code% , %code% darf kein anonymes Mitglied der Union haben und die Anzahl der Elemente in der   Die Bezeichnerliste muss der Anzahl der nicht statischen Datenelemente von %code% entsprechen.

Im Grunde müssen also alle Datenelemente in derselben Klasse deklariert werden, und alle müssen öffentlich sein, und Sie müssen die gleiche Anzahl von Namen angeben wie Mitglieder.

    
___ qstntxt ___

Ich habe das Papier über strukturierte Bindungen hier überflogen Ссылка Ich konnte jedoch nicht erkennen, an welche Arten von Strukturen die Syntax gebunden werden kann. Meine beste Vermutung ist, dass die Struktur ein Aggregattyp sein muss. Oder etwas mit nur öffentlichen Daten Mitgliedern.

Gibt es eine Einschränkung, die ich vermisse?

    
___
2
Antworten

Welche Arten von Bezeichnern werden in C ++ 17 durch strukturierte Bindungen eingeführt?

Nach meinem Wissen sind Kennungen, die von strukturierten Bindungen in C ++ 17 eingeführt werden, tatsächlich Verweise auf eine "versteckte" Variable. So dass %Vor% ist Art äquivalent zu %Vor% Wenn ich jedoch std::is_reference<decl...
21.06.2017, 09:13
1
Antwort

Mit welchem ​​Typ von Strukturen können strukturierte Bindungen arbeiten?

Ich habe das Papier über strukturierte Bindungen hier überflogen Ссылка Ich konnte jedoch nicht erkennen, an welche Arten von Strukturen die Syntax gebunden werden kann. Meine beste Vermutung ist, dass die Struktur ein Aggregattyp sein muss. O...
01.12.2016, 02:27