Pragma once in cpp Dateien?



  • Hallo zusammen,

    auf der Arbeit hat mich ein Kollege heute darauf hingewiesen, dass man pragma once nur in hpps, aber nicht in cpps setzen soll. Ich habe hier im Forum und auf Google ein bisschen recherchiert aber keine genaue Antwort gefunden, warum man es im cpps vermeiden oder überhaupt gar nicht verwenden sollte.



  • Include guards in cpp sind überflüssig. Du kompilierst doch die cpp-Dateien alle (zusammen oder einzeln). Diese includen header und header includen wiederum header (aber keine cpp). Es kann also vorkommen, dass du bestimmte Header mehrfach über verschiedene Wege includest - aber du willst den Code ja jeweils nur 1x haben. Da cpp nicht includet werden, besteht das Problem dort nicht.

    Schau die auch https://de.wikipedia.org/wiki/Include-Guard an und lies auch über die One-Definition-Rule nach.



  • Verstehe. Bisher habe ich es auch immer in cpp Dateien gesetzt. Danke für die Antwort.


Anmelden zum Antworten