Partielles Reihenfolgeverfahren bei der Vorlagenableitung
Bei der Bestimmung der teilweisen Reihenfolge von Vorlagen für die Typableitung verwendet der C-Standard ein spezifisches Verfahren, das Folgendes umfasst: Vergleich von transformierten Funktionstypen. Für jede beteiligte Vorlage wird der ursprüngliche Funktionstyp transformiert, indem jeder Vorlagenparameter durch einen eindeutigen, fiktiven Typ ersetzt wird. Dieser transformierte Funktionstyp wird dann als Argumentvorlage im Ableitungsprozess verwendet, während der ursprüngliche Funktionstyp der anderen Vorlage als Parametervorlage dient.
Dieser Vergleich wird in beide Richtungen durchgeführt:
Wenn eine Übereinstimmung in einer Richtung hergestellt werden kann, in der anderen jedoch nicht, wird festgestellt, dass eine Vorlage spezialisierter ist als die andere . Andernfalls gilt keine der Vorlagen als spezialisierter.
Dieses Verfahren hilft bei der Lösung von Unklarheiten bei der Vorlagenableitung, wenn mehrere Vorlagen gleichermaßen anwendbar zu sein scheinen. Durch den Vergleich der transformierten Typen kann der Compiler bestimmen, welche Vorlage genauer auf die spezifischen übergebenen Argumente abgestimmt werden kann.
Das obige ist der detaillierte Inhalt vonWie bestimmt C die Teilreihenfolge beim Vorlagenabzug?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!