„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie verwende ich `std :: socal_location` mit variadischen Vorlagenfunktionen in C ++ 20?

Wie verwende ich `std :: socal_location` mit variadischen Vorlagenfunktionen in C ++ 20?

Gepostet am 2025-03-25
Durchsuche:883

How to Use `std::source_location` with Variadic Template Functions in C  20?

auflösen Quellort LEOT LEBEN IN VARIADISCHE VERFAHRUNGEN FUNKTIONEN

In C 20 werden die Funktionen erfasst, die Kontextdetails aufrufen, mit std :: socal_location. Die Verwendung mit variadischen Vorlagenfunktionen hat sich jedoch aufgrund der Positionierung des Parameters von Source_location als herausfordernd erwiesen. Dies behinderte die Verwendung von std :: socal_location aufgrund der folgenden Gründe:

erster Versuch:

  • Vorlage void debug (args && ... args, const void debug (const std :: socal_location & loc = std :: socal_location :: current (), Args && ... args);

    führt Unklarheiten für Callers ein, die einen unerwarteten Parameter einwirft. Anleitung:

    template 
    void debug(Args&&... args, const std::source_location& loc = std::source_location::current());
    Dies erlaubt Anrufe wie:

  • int main () { Debug (5, 'a', 3.14f, "foo"); }
  • Schlussfolgerung:

     Durch die Verwendung von Abzugsanleitungen können C -Programmierer nahtlos std :: socal_location in variadische Vorlagenfunktionen einbeziehen, um Funktionen für die Funktion von Funktionen mühelos zu erfassen. .
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3