Ich hatte gerade erst bemerkt, dass meine Programme mit der String-Klasse kompiliert wurden, ohne die <string>
Header zu enthalten. Es stellt sich heraus, dass <iostream>
<ios_base>
enthält, die wiederum <string>
enthält.sollte ich einen Header enthalten, der bereits über andere Header enthalten ist?
Ist das eine schlechte Praxis und sollte ich explizit <string>
einschließen? Auch wenn es sich nur um Klarheit handelt?
Ist es sicher anzunehmen, dass dies für mehr als nur den <string>
Header gilt? Vielleicht ist dies implementationsspezifisch und oder ist der Standardzustand der <string>
Header über und <iostream>
enthalten? Stellen Sie sicher, dass jede respektierte und weit verbreitete Implementierung immer <string>
enthält, sofern der Aufruf an <iostream>
besteht.
http://en.wikipedia.org/wiki/Incl ude_guard. Die Standardbibliothek hat sie. – Dragontamer5788
Das ist ziemlich praktisch, da ich dieses Feature nicht lange eingeführt habe. Vielen Dank. – aLostMonkey