Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

08.08.2015, 20:16

[C++] Verständnisproblem: Precompiled headers & Benutzung von #include

Hallo,

ich habe hier eine Verständnisfrage zum Thema PCHS.
Also in meiner "stdafx.h" inkludiere ich beispielsweise iostream, vector und string, in der zugehörigen .cpp Datei inkludiere ich dann die .h Datei.
Wenn ich jetzt eine Headerdatei einer Klasse gestalte und in dem Code schreibe, der abhängig von einer dieser 3 Dateien ist, muss ich ja zwangsläufig die zugehörige Headerdatei inkludieren, da der Compiler sonst ja über fehlende Deklarationen meckert.
Jetzt ist die Frage, warum wird u.a. bei stackoverflow davon abgeraten , jetzt den PCH Header zu inkludieren (stdafx.h), die ja z.B. vector mit einschliesst, und dazu geraten jetzt z.B. vector mit #include <vector> zu inkludieren ?
Eigentlich kommt ja beide auf das selbe raus, oder ?

In dem Thread wird u.a. beschrieben, dass man in meine Fall z.B. vector ja gar nicht inkludieren müsse, da, wenn ich die zugehörige .cpp dazu gestalte, ja dort als erstes die PCH Headerdatei inkludiere und damit z.B. die Deklarationen von vector in der Headerdatei bekannt sind. Jedoch trifft das ja nur zu, wenn ich die Headerdatei irgendwo verwende, andernfalls wird ja vorher nicht "stdafx.h" inkludiert und somit sind die Deklarationen in der Headerdatei nicht bekannt.

Wie ihr seht, ich bin gerade ziemlich verwirrt, wann ich jetzt am besten inkludieren soll und was im Falle von PCHs.

Hoffe ihr könnt mir dabei helfen, bin nämlich durch die ganzen verschiedenen Aussagen ziemlich verwirrt.

LG

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Logan« (08.08.2015, 20:28) aus folgendem Grund: Titel angepasst.


2

09.08.2015, 23:08

Hallo,

Thema kann geschlossen werden, geholfen hat mir https://stackoverflow.com/questions/3190…s-include-usage.

LG