Heim > Backend-Entwicklung > C++ > Welchen Zweck hat der Pfeiloperator (->) in C-Funktionsüberschriften?

Welchen Zweck hat der Pfeiloperator (->) in C-Funktionsüberschriften?

Mary-Kate Olsen
Freigeben: 2024-11-13 05:49:02
Original
354 Leute haben es durchsucht

What is the Purpose of the Arrow Operator (->) in C-Funktionsheadern? 
) in C-Funktionsheadern? " />

Pfeiloperatoren (->) in Funktionsüberschriften verstehen

Der betreffende Code führt den Pfeiloperator (->) in der Funktionsüberschrift ein:

template <typename T, typename T1> auto compose(T a, T1 b) -> decltype(a + b) {
   return a+b;
}
Nach dem Login kopieren

Diese Syntax bezieht sich auf die in C 11 eingeführte alternative Funktionsdeklarationssyntax. Sie bietet eine Alternative zur herkömmlichen Methode zur Angabe der Rückgabetyp:

return-type identifier (argument-declarations...)
Nach dem Login kopieren

Funktionsdeklarationssyntaxen

Die beiden Funktionsdeklarationssyntaxen in C 11 sind:

  1. Traditionell Syntax:

    <return-type> <identifier> (<argument-declarations...>)
    Nach dem Login kopieren
  2. Alternative Syntax:

    <auto> <identifier> (<argument-declarations...>) -> <return-type>
    Nach dem Login kopieren

Bestimmung des Rückgabetyps mit Dectype

Der Pfeiloperator (->) ermöglicht die Ableitung Der Rückgabetyp basierend auf den Argumenttypen mit decltype ermöglicht es uns, den Typ eines Ausdrucks anzugeben, ohne ihn explizit anzugeben.

Im gegebenen Beispiel bestimmt decltype(a b) den Rückgabetyp basierend auf dem Ausdruck a b. Der Operator - > gibt an, dass der Rückgabetyp der Typ des Ausdrucks ist.

C 14 Update

C 14 führt eine weitere Syntaxvereinfachung ein:

<auto> <identifier> (<argument-declarations...>)
Nach dem Login kopieren

Dies ist zulässig, wenn die Funktion vor der Verwendung vollständig definiert ist und alle Rückgabeanweisungen auf denselben Typ ableiten. Allerdings ist das - > Die Syntax bleibt nützlich, um Funktionskörper in Quelldateien für in Headern deklarierte öffentliche Funktionen auszublenden.

Das obige ist der detaillierte Inhalt vonWelchen Zweck hat der Pfeiloperator (->) in C-Funktionsüberschriften?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage