<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Includes in Header, oder cpp-Datei?]]></title><description><![CDATA[<p>Hi<br />
Was ist eigentlich stillistisch schöner?<br />
Includes in den Header, oder in die Cpp-Datei?<br />
Sollte man Includes also verstecken, oder eher darauf aufmerksam machen, was man verwendet?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/206055/includes-in-header-oder-cpp-datei</link><generator>RSS for Node</generator><lastBuildDate>Thu, 08 Oct 2026 16:54:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/206055.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 20 Feb 2008 19:01:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Includes in Header, oder cpp-Datei? on Wed, 20 Feb 2008 19:01:49 GMT]]></title><description><![CDATA[<p>Hi<br />
Was ist eigentlich stillistisch schöner?<br />
Includes in den Header, oder in die Cpp-Datei?<br />
Sollte man Includes also verstecken, oder eher darauf aufmerksam machen, was man verwendet?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1459707</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1459707</guid><dc:creator><![CDATA[JustAnotherNoob]]></dc:creator><pubDate>Wed, 20 Feb 2008 19:01:49 GMT</pubDate></item><item><title><![CDATA[Reply to Includes in Header, oder cpp-Datei? on Wed, 20 Feb 2008 19:11:16 GMT]]></title><description><![CDATA[<p>IMHO kommen die dort hin, wo sie gebraucht werden. Also,wenn du eine für die Definition brauchst, in die .h, sonst im in der .cpp.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1459715</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1459715</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 20 Feb 2008 19:11:16 GMT</pubDate></item><item><title><![CDATA[Reply to Includes in Header, oder cpp-Datei? on Thu, 21 Feb 2008 06:36:24 GMT]]></title><description><![CDATA[<p>wobei &quot;gebraucht werden&quot; auch noch interpretationsspielraum lässt. lieber ein oder zwei forward deklarationen im header, als windows.h zu includen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1459913</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1459913</guid><dc:creator><![CDATA[thordk_]]></dc:creator><pubDate>Thu, 21 Feb 2008 06:36:24 GMT</pubDate></item><item><title><![CDATA[Reply to Includes in Header, oder cpp-Datei? on Thu, 21 Feb 2008 06:39:34 GMT]]></title><description><![CDATA[<p>JustAnotherNoob schrieb:</p>
<blockquote>
<p>Hi<br />
Was ist eigentlich stillistisch schöner?<br />
Includes in den Header, oder in die Cpp-Datei?<br />
Sollte man Includes also verstecken, oder eher darauf aufmerksam machen, was man verwendet?</p>
</blockquote>
<p>Das hat eigentlich nichts mit stilistisch zu tun.</p>
<p>Du kannst die Linkzeiten in der Regel reduzieren wenn du vermeidest zuviele Includes im Header zu machen. Zudem vermeidest du Probleme wegen gegenseitigen Abhängigkeiten. Man kann etwa wie folgt vorgehen:</p>
<p>1. Wird etwas aus dem Header nur in der Sourcedatei (cpp) benötigt?<br />
==&gt; Include im Source<br />
2. Werden im Header nur Zeiger und Referenzen eines im Header definierten Typs verwendet und Vorwärtsdeklarationen reichen für die Verwendung aus?<br />
==&gt; Include im Source, Vorwärtsdeklaration im Header<br />
Sonst: ==&gt; Include im Header</p>
<p>Die Abhängigkeiten lassen sich meist noch mehr reduzieren wenn man das sogenannte Handle/Body Idiom verwendet (auch pImpl genannt), man sollte dabei aber zwischen Nutzen und Handhabung abwägen. Hierzu ist google dein Freund.</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1459914</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1459914</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Thu, 21 Feb 2008 06:39:34 GMT</pubDate></item><item><title><![CDATA[Reply to Includes in Header, oder cpp-Datei? on Sun, 27 Jul 2008 13:57:49 GMT]]></title><description><![CDATA[<p>Ich hab auch eine Frage zum optimalen Includen, daher frag ich hier einfach mal:</p>
<p>Ich würde gern in den Headerfiles meiner Klassen gar kein Include haben und dafür nur einen Eintrag im entsprechenden Cpp-File.</p>
<p>Ich arbeite momentan beruflich mit einem Softwareprojekt, bei dem grundsätzlich in KEINER Headerdatei ein Include steht, und dennoch dort allerlei Klassen verwendet werden. Es gibt immer nur eine Headerdatei die alle Includes enthält, und entsprechend in der Cpp-Datei jeder Klasse included wird.</p>
<p>Wie krieg ich das bei mir hin? Irgendwie funzt das nicht... (beruflich VC++ 6.0, privat Code::Blocks)</p>
<p>danke schonmal <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1554576</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1554576</guid><dc:creator><![CDATA[It0101]]></dc:creator><pubDate>Sun, 27 Jul 2008 13:57:49 GMT</pubDate></item><item><title><![CDATA[Reply to Includes in Header, oder cpp-Datei? on Sun, 27 Jul 2008 14:03:50 GMT]]></title><description><![CDATA[<p>It0101 schrieb:</p>
<blockquote>
<p>(beruflich VC++ 6.0, privat Code::Blocks)</p>
</blockquote>
<p>Was hat die IDE damit zu tun?! Ich würde dich schonmal auf gar keinen Fall einstellen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1554578</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1554578</guid><dc:creator><![CDATA[niemals]]></dc:creator><pubDate>Sun, 27 Jul 2008 14:03:50 GMT</pubDate></item><item><title><![CDATA[Reply to Includes in Header, oder cpp-Datei? on Sun, 27 Jul 2008 14:11:27 GMT]]></title><description><![CDATA[<p>It0101 schrieb:</p>
<blockquote>
<p>Wie krieg ich das bei mir hin?</p>
</blockquote>
<p>Was soll denn bei dir anders sein?<br />
Du verschiebst eben die <code>#include</code> -Direktiven in den gemeinsamen Header. Wo liegt das Problem?</p>
<p>P.S. VC++ 6.0 ist relativ veraltet...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1554584</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1554584</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 27 Jul 2008 14:11:27 GMT</pubDate></item><item><title><![CDATA[Reply to Includes in Header, oder cpp-Datei? on Sun, 27 Jul 2008 14:21:08 GMT]]></title><description><![CDATA[<p>Ich sollte nicht mehr erwähnen, dass ich mit VC++ 6.0 arbeite... kommen ja doch immer wieder die gleichen Sprüche. Ich kann doch nix dafür verdammt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Problem ist:</p>
<p>wenn ich nur in den CPP-Files include, kennt der Compiler im Headerfile meine ganzen &quot;anderen Klassen&quot; nicht mehr und macht das auch durch eine entsprechende Fehlermeldung deutlich.</p>
<p>@Niemals:</p>
<p>VC++6.0 ist in einigen Dingen sehr merkwürdig, daher wollte ich die IDE nur mal nebenbei erwähnt wissen, falls doch wieder VC6 schuld is...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1554588</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1554588</guid><dc:creator><![CDATA[It0101]]></dc:creator><pubDate>Sun, 27 Jul 2008 14:21:08 GMT</pubDate></item><item><title><![CDATA[Reply to Includes in Header, oder cpp-Datei? on Sun, 27 Jul 2008 14:23:58 GMT]]></title><description><![CDATA[<p>It0101 schrieb:</p>
<blockquote>
<p>wenn ich nur in den CPP-Files include, kennt der Compiler im Headerfile meine ganzen &quot;anderen Klassen&quot; nicht mehr und macht das auch durch eine entsprechende Fehlermeldung deutlich.</p>
</blockquote>
<p>Vorwärtsdeklaration?</p>
<pre><code class="language-cpp">class CTest;

class CMyClass
{
private:
  CTest* m_pTest; // Kein Problem

  // ...
};
</code></pre>
<p>Du kannst halt nur Pointer und Referenzen erstellen, aber keine Objekte. Und schon gar nichts im Header aufrufen. Aber das reicht meistens.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1554592</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1554592</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 27 Jul 2008 14:23:58 GMT</pubDate></item><item><title><![CDATA[Reply to Includes in Header, oder cpp-Datei? on Sun, 27 Jul 2008 14:29:46 GMT]]></title><description><![CDATA[<p>Habs hinbekommen. Die Reihenfolge im Include Headerfile war nicht ganz ok...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1554596</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1554596</guid><dc:creator><![CDATA[It0101]]></dc:creator><pubDate>Sun, 27 Jul 2008 14:29:46 GMT</pubDate></item></channel></rss>