Wozu nutzt man so viele Files?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Wo hast du solches gehört?

C++ funktioniert ohne Headerfiles nicht. Das kann man (zu recht) fragwürdig finden, aber die Anfänge von C++ gehen eben zurück bis 1985. Ebenfalls wollte man Kompatibilität zu C erhalten.

Und damals hat man (schon aus Gründen der Performance und durch die Trennung von Compiler und Linker) die Deklaration und die Definition in getrente Files geschrieben.

Auch heute und in moderneren Sprachen ist eine solche Trennung unumgänglich, wenn man z.B. Library-Interfaces definieren will, den Code aber nicht freigeben möchte. Oder auch wenn man ihn freigibt, aber eine vorkompilierte Binärbibliothek ausliefern möchte.

Was du nicht (oder nur nach reiflicher Überlegung) tun solltest, ist die Implementierung (oder Teile davon) in Headerfiles umzusetzen. Schnittstellen- und Typdefinitionen wirst du aber in Headerfiles packen müssen.

Da hast du falsch gehört. Programmieren ohne Header ist in C++ nicht möglich.

Die Stellen ja die Schnittstellen bereit, und ohne wirst du nichts entwickeln können.

Module sind zwar eine Alternative, werden aber noch von keinem Compiler ausreichend unterstützt.

Woher ich das weiß:Berufserfahrung

und was ist mit eigenen Headern? also solche, bei denen man die deklaration (int zahl;) hinschreibt?

0
@Limit999

Int zahl; ist keine Deklaration sondern Definition. Definitionen haben in Headerfiles generell nichts verloren außer vielleicht inline Funktionen.

Die Deklaration dazu wäre extern int zahl; und die kommen in Headerfiles rein wenn man diese Zahl für andere Teile des Programms "freigeben" möchte.

1

Was möchtest Du wissen?