<?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[Beste Reihenfolge bei includes?]]></title><description><![CDATA[<p>Hallo,</p>
<p>welche Reihenfolge bei #includes verwendet ihr?</p>
<p>Zuerst die eigenen Header und dann die Standard Header:</p>
<pre><code>// Foo.cpp
#include &quot;Foo.h&quot;
#include &quot;MyHeader.h&quot;

#include &lt;string&gt;
</code></pre>
<p>Oder erst die Standard Header und dann die eigenen:</p>
<pre><code>// Foo.cpp
#include &lt;string&gt;

#include &quot;Foo.h&quot;
#include &quot;MyHeader.h&quot;
</code></pre>
<p>Wie macht man das am besten?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/312305/beste-reihenfolge-bei-includes</link><generator>RSS for Node</generator><lastBuildDate>Sun, 02 Aug 2026 23:45:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/312305.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 31 Dec 2012 22:17:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Beste Reihenfolge bei includes? on Mon, 31 Dec 2012 22:17:05 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>welche Reihenfolge bei #includes verwendet ihr?</p>
<p>Zuerst die eigenen Header und dann die Standard Header:</p>
<pre><code>// Foo.cpp
#include &quot;Foo.h&quot;
#include &quot;MyHeader.h&quot;

#include &lt;string&gt;
</code></pre>
<p>Oder erst die Standard Header und dann die eigenen:</p>
<pre><code>// Foo.cpp
#include &lt;string&gt;

#include &quot;Foo.h&quot;
#include &quot;MyHeader.h&quot;
</code></pre>
<p>Wie macht man das am besten?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2284925</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2284925</guid><dc:creator><![CDATA[Marlli2]]></dc:creator><pubDate>Mon, 31 Dec 2012 22:17:05 GMT</pubDate></item><item><title><![CDATA[Reply to Beste Reihenfolge bei includes? on Mon, 31 Dec 2012 22:25:57 GMT]]></title><description><![CDATA[<p>Ich nehme immer zuerst die des Compiller.</p>
<p>0x0ERROR</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2284928</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2284928</guid><dc:creator><![CDATA[0x0ERROR]]></dc:creator><pubDate>Mon, 31 Dec 2012 22:25:57 GMT</pubDate></item><item><title><![CDATA[Reply to Beste Reihenfolge bei includes? on Mon, 31 Dec 2012 22:44:40 GMT]]></title><description><![CDATA[<p>Standardlibrary gefolgt von externen Libraries gefolgt von eigenen. Header einer Gruppe alphabetisch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2284933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2284933</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Mon, 31 Dec 2012 22:44:40 GMT</pubDate></item><item><title><![CDATA[Reply to Beste Reihenfolge bei includes? on Tue, 01 Jan 2013 00:19:28 GMT]]></title><description><![CDATA[<p>Ich mach das umgekehrt. Zuerst die eigenen, dann die von unseren Libs und am Schluss die von der STL oder 3rd party.<br />
Die eigenen sind meist die interessanten. Was interessiert es mich, dass ich da &lt;string&gt; inkludieren muss? Das ist nur ein nebensächlicher technischer Aspekt, der kann irgendwo weiter unten kommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2284946</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2284946</guid><dc:creator><![CDATA[Mechanics]]></dc:creator><pubDate>Tue, 01 Jan 2013 00:19:28 GMT</pubDate></item><item><title><![CDATA[Reply to Beste Reihenfolge bei includes? on Tue, 01 Jan 2013 06:24:10 GMT]]></title><description><![CDATA[<p>Eigenes Projekt, dann eigene Libs, dann Thirdparty Libs, dann Windows Zeugs, dann STL/... .<br />
Also grob: von speziell/nicht-standard zu generisch/standard sortiert.</p>
<p>Reasoning:<br />
a) Jedes halbwegs klare und einfache System ist besser als gar kein System<br />
b) Diese Reihenfolge unterstützt das Finden von fehlenden #include Anweisungen in eigenen Headers<br />
c) Die Begründung von Mechanics ist auch gut</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2284961</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2284961</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 01 Jan 2013 06:24:10 GMT</pubDate></item><item><title><![CDATA[Reply to Beste Reihenfolge bei includes? on Tue, 01 Jan 2013 09:03:06 GMT]]></title><description><![CDATA[<p>System (Posix/WinAPI/etc) -&gt; STL -&gt; 3rd Party -&gt; Projekt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2284969</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2284969</guid><dc:creator><![CDATA[Ethon]]></dc:creator><pubDate>Tue, 01 Jan 2013 09:03:06 GMT</pubDate></item><item><title><![CDATA[Reply to Beste Reihenfolge bei includes? on Tue, 01 Jan 2013 09:13:19 GMT]]></title><description><![CDATA[<p>Kellerautomat schrieb:</p>
<blockquote>
<p>Standardlibrary gefolgt von externen Libraries gefolgt von eigenen. Header einer Gruppe alphabetisch.</p>
</blockquote>
<p>+1.</p>
<p>Mechanics schrieb:</p>
<blockquote>
<p>Die eigenen sind meist die interessanten.</p>
</blockquote>
<p>Genau deshalb packt man sie ja nach unten, dann sind sie näher an dem Code an dem man arbeitet. <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/2284970</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2284970</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Tue, 01 Jan 2013 09:13:19 GMT</pubDate></item><item><title><![CDATA[Reply to Beste Reihenfolge bei includes? on Tue, 01 Jan 2013 09:25:41 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Eigenes Projekt, dann eigene Libs, dann Thirdparty Libs, dann Windows Zeugs, dann STL/... .<br />
Also grob: von speziell/nicht-standard zu generisch/standard sortiert.</p>
</blockquote>
<p>+1</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2284974</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2284974</guid><dc:creator><![CDATA[Dobi]]></dc:creator><pubDate>Tue, 01 Jan 2013 09:25:41 GMT</pubDate></item><item><title><![CDATA[Reply to Beste Reihenfolge bei includes? on Tue, 01 Jan 2013 09:45:20 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Eigenes Projekt, dann eigene Libs, dann Thirdparty Libs, dann Windows Zeugs, dann STL/... .<br />
Also grob: von speziell/nicht-standard zu generisch/standard sortiert.</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2284975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2284975</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Tue, 01 Jan 2013 09:45:20 GMT</pubDate></item><item><title><![CDATA[Reply to Beste Reihenfolge bei includes? on Tue, 01 Jan 2013 10:41:36 GMT]]></title><description><![CDATA[<p>hustbaer und mechanics machen es falsch.</p>
<p>Denn cooky451 hat hier nicht nur wegen dem Code recht, sondern es gibt ja auch noch die Präprozessordirektiven.<br />
Die will ich auch nicht zerstückeln und da in manchen Headers auch Präprozessordirektiven drinstehen ist die einzige richtige Vorgehensweise die Folgende:</p>
<p>Header für das System, POSIX, Windows usw.<br />
Header für die STL<br />
Header für externe 3rd Party Libs<br />
Header für das eigene Zeugs<br />
Präprozessordirektiven<br />
Quellcode</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2284984</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2284984</guid><dc:creator><![CDATA[Unfehlbarkeitscoder]]></dc:creator><pubDate>Tue, 01 Jan 2013 10:41:36 GMT</pubDate></item><item><title><![CDATA[Reply to Beste Reihenfolge bei includes? on Tue, 01 Jan 2013 11:38:49 GMT]]></title><description><![CDATA[<p>Unfehlbarkeitscoder schrieb:</p>
<blockquote>
<p>hustbaer und mechanics machen es falsch.</p>
<p>Denn cooky451 hat hier nicht nur wegen dem Code recht, sondern es gibt ja auch noch die Präprozessordirektiven.<br />
Die will ich auch nicht zerstückeln und da in manchen Headers auch Präprozessordirektiven drinstehen ist die einzige richtige Vorgehensweise die Folgende:</p>
<p>Header für das System, POSIX, Windows usw.<br />
Header für die STL<br />
Header für externe 3rd Party Libs<br />
Header für das eigene Zeugs<br />
Präprozessordirektiven<br />
Quellcode</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2284999</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2284999</guid><dc:creator><![CDATA[Ethon]]></dc:creator><pubDate>Tue, 01 Jan 2013 11:38:49 GMT</pubDate></item><item><title><![CDATA[Reply to Beste Reihenfolge bei includes? on Tue, 01 Jan 2013 15:41:28 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Eigenes Projekt, dann eigene Libs, dann Thirdparty Libs, dann Windows Zeugs, dann STL/... .</p>
</blockquote>
<p>Genauso mache ich es auch.</p>
<p>Ich hab eigentlich gar nie gross darüber nachgedacht, schien mir so am intuitivsten <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/2285036</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2285036</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 01 Jan 2013 15:41:28 GMT</pubDate></item><item><title><![CDATA[Reply to Beste Reihenfolge bei includes? on Tue, 01 Jan 2013 15:50:18 GMT]]></title><description><![CDATA[<p>Unfehlbarkeitscoder schrieb:</p>
<blockquote>
<p>sondern es gibt ja auch noch die Präprozessordirektiven.</p>
</blockquote>
<p>Echt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2285041</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2285041</guid><dc:creator><![CDATA[Mechanics]]></dc:creator><pubDate>Tue, 01 Jan 2013 15:50:18 GMT</pubDate></item><item><title><![CDATA[Reply to Beste Reihenfolge bei includes? on Tue, 01 Jan 2013 18:33:31 GMT]]></title><description><![CDATA[<p>Zu der Reihenfolge bei den includes hab ich mal eine Frage.<br />
Ich hatte vor einiger Zeit mal folgendes Problem, meine Lösung hatte mir aber nie so recht gefallen.</p>
<p>Also:<br />
In der useful.h wird u.a. eine Funktion</p>
<pre><code class="language-cpp">double rnd_boxMuller(double sigma);
</code></pre>
<p>deklariert. Diese wird in der matrix.h verwendet. In der matrix.h wird die Klasse Matrix&lt;T&gt; deklariert. Außerderdem gibt es in der useful.h folgende Funktionsdeklaration:</p>
<pre><code class="language-cpp">Matrix&lt;double&gt; randomDoubleMatrix(int d1 = 5, int d2 = 5, double min = -1, double max = 1);
</code></pre>
<p>Wenn in beiden Headern nun die includes jeweils nach ganz oben schreibe, ergibt sich folgendes Problem: useful.h inkludiert matrix.h, der Kompiler trifft (in der matrix.h) auf den rnd_boxMuller-Aufruf und weiß damit nichts anzufangen (da ja der Funktionsname noch nicht deklariert wurde). Meine Lösung war, in der useful.h zunächst die &quot;rnd_boxMuller&quot; zu deklarieren, dann matrix.h zu inkludieren und anschließend die randomDoubleMatrix-Funktion zu deklarieren. Schön finde ich diese Lösung nicht.</p>
<p>Wie macht man das richtig?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2285078</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2285078</guid><dc:creator><![CDATA[Ramanujan]]></dc:creator><pubDate>Tue, 01 Jan 2013 18:33:31 GMT</pubDate></item><item><title><![CDATA[Reply to Beste Reihenfolge bei includes? on Tue, 01 Jan 2013 18:38:26 GMT]]></title><description><![CDATA[<p>Mit einer Vorwärtsdeklaration des Klassentemplates:</p>
<pre><code>// useful.h

// Deklaration
template &lt;typename T&gt;
class Matrix;

double         rnd_boxMuller(double sigma);
Matrix&lt;double&gt; randomDoubleMatrix(int d1 = 5, int d2 = 5, double min = -1, double max = 1);
</code></pre>
<pre><code>// matrix.h
#include &quot;useful.h&quot;

// Definition
template &lt;typename T&gt;
class Matrix
{
    // ...
};
</code></pre>
<p><strong>Und mach in Zukunft einen neuen Thread auf, dein Thema hat nichts mit dem hier zu tun!</strong></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2285079</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2285079</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 01 Jan 2013 18:38:26 GMT</pubDate></item><item><title><![CDATA[Reply to Beste Reihenfolge bei includes? on Tue, 01 Jan 2013 21:16:57 GMT]]></title><description><![CDATA[<p>Mechanics schrieb:</p>
<blockquote>
<p>Unfehlbarkeitscoder schrieb:</p>
<blockquote>
<p>sondern es gibt ja auch noch die Präprozessordirektiven.</p>
</blockquote>
<p>Echt?</p>
</blockquote>
<p>Guckst du hier:</p>
<p><a href="http://www.cpp-tutor.de/cpp/le08/include.html" rel="nofollow">http://www.cpp-tutor.de/cpp/le08/include.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2285133</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2285133</guid><dc:creator><![CDATA[Unfehlbarkeitscoder]]></dc:creator><pubDate>Tue, 01 Jan 2013 21:16:57 GMT</pubDate></item><item><title><![CDATA[Reply to Beste Reihenfolge bei includes? on Tue, 01 Jan 2013 21:23:33 GMT]]></title><description><![CDATA[<p>Was willst du damit sagen? In Cpp Dateien verwend ich so gut wie nie irgendwelche Präprozessordirektiven, und wenn, dann gehören die eher zum Code als zu den includes. In Header Dateien dann natürlich Headerguards, das wars aber auch schon, und in Header Dateien hab ich nicht so viele Includes.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2285134</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2285134</guid><dc:creator><![CDATA[Mechanics]]></dc:creator><pubDate>Tue, 01 Jan 2013 21:23:33 GMT</pubDate></item><item><title><![CDATA[Reply to Beste Reihenfolge bei includes? on Tue, 01 Jan 2013 21:33:17 GMT]]></title><description><![CDATA[<p>Erst fremde, dann eigene Header. Grund: wenn man in seinem Header einen Fehler hat (zum Beispiel Semikolon am Ende der Klasse vergessen) kann es sonst passieren, dass der Fehler in irgendeinem Standardheader angezeigt wird.<br />
Gut, so im Nachhinein betrachtet kein sehr guter Grund, aber wenn man es sich einmal so angewöhnt hat…</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2285139</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2285139</guid><dc:creator><![CDATA[ipsec]]></dc:creator><pubDate>Tue, 01 Jan 2013 21:33:17 GMT</pubDate></item><item><title><![CDATA[Reply to Beste Reihenfolge bei includes? on Wed, 02 Jan 2013 02:12:00 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/16077">@ipsec</a><br />
Wäre für mich eher ein Grund es anders rum zu machen (also so wie ich es mache, zuerst eigene dann fremde).<br />
Wenn ich nämlich einen Fehler in einem Standard-Headerfile angezeigt bekommt, dann kann ich fast sicher sein dass der Fehler nicht wirklich dort liegt, sondern irgendwo davor.</p>
<p>Wenn der Fehler dagegen in meinem Code angezeigt wird, dann muss ich erstmal ausschliessen dass der Fehler wirklich dort ist wo er angezeigt wird, bevor ich anfange mir Dinge anzusehen die davor kommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2285175</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2285175</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 02 Jan 2013 02:12:00 GMT</pubDate></item></channel></rss>