Heim > Backend-Entwicklung > C++ > Hauptteil

Können C-Funktionen „auto' als Argumenttyp verwenden?

DDD
Freigeben: 2024-11-17 06:12:03
Original
641 Leute haben es durchsucht

Can C   Functions Utilize

Auto als Argument in C übergeben

Es gibt eine Methode, das Schlüsselwort „auto“ als Argument zu verwenden, wenn es an ein anderes übergeben wird Funktion. Das heißt, Sie können eine Funktion wie folgt definieren:

int function(auto data)
{
    // Does something
}
Nach dem Login kopieren

C 20's Einführung von Auto als Funktionsparametertyp

C 20 ermöglicht die Verwendung von „auto“ als Funktionsparametertyp. Betrachten Sie den folgenden Codeausschnitt als Beispiel:

int function(auto data) {
   // Do something, there are no constraints on data
}
Nach dem Login kopieren

Abgekürzte Funktionsvorlagen

Zusätzlich kann „auto“ als abgekürzte Funktionsvorlage verwendet werden. Dies ist eine spezielle Instanz einer nicht einschränkenden Typbeschränkung oder mit anderen Worten ein „unbeschränkter automatischer Parameter“. Ein „eingeschränkter automatischer Parameter“ hingegen würde Konzepte verwenden und wie folgt aussehen:

void function(const Sortable auto& data) {
    // Do something that requires data to be Sortable
    // Assuming there is a concept named Sortable
}
Nach dem Login kopieren

Erklärung aus der C-Spezifikation

Die C-Spezifikation definiert „Platzhaltertypspezifizierer“ wie folgt:

type-constraint<sub>opt</sub> auto

type-constraint<sub>opt</sub> decltype ( auto )
Nach dem Login kopieren

Solche Platzhaltertypspezifizierer bezeichnen einen Platzhaltertyp, der später durch Abzug von einem Initialisierer ersetzt werden kann. Bei Verwendung in der „decl-specifier-seq“ einer Funktionsdeklaration oder eines Lambda-Ausdrucks gibt ein Platzhaltertypbezeichner der Form „type-constraintopt auto“ an, dass es sich bei der Funktion um eine abgekürzte Funktionsvorlage handelt (gemäß 9.3.3.5).

Das obige ist der detaillierte Inhalt vonKönnen C-Funktionen „auto' als Argumenttyp verwenden?. 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