Heim > Artikel > Backend-Entwicklung > Warum gibt „decltype((...))“ eine Referenz zurück, während „decltype(...)“ dies nicht tut?
Die Bedeutung von Klammern in decltype((...)) verstehen
Die Verwendung von doppelten Klammern in decltype((... )) hat einen subtilen, aber wichtigen Einfluss auf den vom Decltype-Operator abgeleiteten Typ, wie das Beispiel aus der C 17 Function Definition Concurrency (FCD) zeigt.
Bei Anwendung auf einen nicht in Klammern gesetzten Bezeichner (id-expression) oder ein Zugriffsausdruck für Klassenmitglieder, decltype gibt den Typ der referenzierten Entität zurück. Wenn der Ausdruck jedoch ein L-Wert ist (eine Variable oder ein Ausdruck, der sich auf einen Speicherort bezieht), stellt decltype vor dem Typ der Entität eine zusätzliche Referenz (&) voran.
Im FCD-Beispiel:
Das obige ist der detaillierte Inhalt vonWarum gibt „decltype((...))“ eine Referenz zurück, während „decltype(...)“ dies nicht tut?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!