<?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[[Anfänger] Headerdatei: was gehört rein, was nicht?]]></title><description><![CDATA[<p>Ich würde gerne meinen bestehenden Quelltext mal aufräumen und auch auf mehrere Quelltextdateien verteilen. Leider komme ich mit dem klar, was in meiner eventuellen main.h stehen müsste. In meiner greifbaren Literatur werden im Kapitel &quot;Header-Dateien&quot; nur Variablen behandelt...</p>
<p>Wie müsste ich den folgenden kompletten &amp; funktionierenden <em>Beispielcode</em> aufteilen, wenn in der hier komplett gelisteten &quot;main.cpp&quot; quasi nur noch die main-Funktion stehen soll? Was sollte in einer &quot;main.h&quot;, was in eine &quot;subcode.cpp&quot; bzw. welche Zeilen müssten dort genau hinzugefügt werden?</p>
<pre><code class="language-cpp">//main.cpp
#include &lt;iostream&gt;
#include &lt;vector&gt;

class testklasse
{
public:
	std::vector&lt;int&gt; Testvector2;
	int testvariable;
	testklasse(std::vector&lt;int&gt; Testvector2, int testvariable);
};

testklasse::testklasse(std::vector&lt;int&gt; Testvector2, int testvariable)
{
	this-&gt;Testvector2=Testvector2;
	this-&gt;testvariable=testvariable;
}

void testfunktion(std::vector&lt;testklasse&gt;&amp; Testvector1)
{
	std::vector&lt;int&gt; tempvector;
	tempvector.push_back(12);
	tempvector.push_back(34);
	tempvector.push_back(56);

	int tempvariable = 99;
	Testvector1.push_back(testklasse(tempvector, tempvariable));
}

void testausgabe(std::vector&lt;testklasse&gt;&amp; Testvector1)
{
	std::vector&lt;testklasse&gt;::iterator i;
	for (i = Testvector1.begin(); i &lt; Testvector1.end(); i++)
	{
		std::vector&lt;int&gt;::iterator j;
		for (j = i-&gt;Testvector2.begin(); j &lt; i-&gt;Testvector2.end(); j++)
		{
			std::cout &lt;&lt; *j &lt;&lt; std::endl;
		}
	}
}

int main()
{
	std::vector&lt;testklasse&gt; Testvector1;
	testfunktion(Testvector1);
	testausgabe(Testvector1);
	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/293286/anfänger-headerdatei-was-gehört-rein-was-nicht</link><generator>RSS for Node</generator><lastBuildDate>Sun, 16 Aug 2026 10:52:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/293286.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 29 Sep 2011 14:29:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [Anfänger] Headerdatei: was gehört rein, was nicht? on Thu, 29 Sep 2011 14:29:16 GMT]]></title><description><![CDATA[<p>Ich würde gerne meinen bestehenden Quelltext mal aufräumen und auch auf mehrere Quelltextdateien verteilen. Leider komme ich mit dem klar, was in meiner eventuellen main.h stehen müsste. In meiner greifbaren Literatur werden im Kapitel &quot;Header-Dateien&quot; nur Variablen behandelt...</p>
<p>Wie müsste ich den folgenden kompletten &amp; funktionierenden <em>Beispielcode</em> aufteilen, wenn in der hier komplett gelisteten &quot;main.cpp&quot; quasi nur noch die main-Funktion stehen soll? Was sollte in einer &quot;main.h&quot;, was in eine &quot;subcode.cpp&quot; bzw. welche Zeilen müssten dort genau hinzugefügt werden?</p>
<pre><code class="language-cpp">//main.cpp
#include &lt;iostream&gt;
#include &lt;vector&gt;

class testklasse
{
public:
	std::vector&lt;int&gt; Testvector2;
	int testvariable;
	testklasse(std::vector&lt;int&gt; Testvector2, int testvariable);
};

testklasse::testklasse(std::vector&lt;int&gt; Testvector2, int testvariable)
{
	this-&gt;Testvector2=Testvector2;
	this-&gt;testvariable=testvariable;
}

void testfunktion(std::vector&lt;testklasse&gt;&amp; Testvector1)
{
	std::vector&lt;int&gt; tempvector;
	tempvector.push_back(12);
	tempvector.push_back(34);
	tempvector.push_back(56);

	int tempvariable = 99;
	Testvector1.push_back(testklasse(tempvector, tempvariable));
}

void testausgabe(std::vector&lt;testklasse&gt;&amp; Testvector1)
{
	std::vector&lt;testklasse&gt;::iterator i;
	for (i = Testvector1.begin(); i &lt; Testvector1.end(); i++)
	{
		std::vector&lt;int&gt;::iterator j;
		for (j = i-&gt;Testvector2.begin(); j &lt; i-&gt;Testvector2.end(); j++)
		{
			std::cout &lt;&lt; *j &lt;&lt; std::endl;
		}
	}
}

int main()
{
	std::vector&lt;testklasse&gt; Testvector1;
	testfunktion(Testvector1);
	testausgabe(Testvector1);
	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2125121</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2125121</guid><dc:creator><![CDATA[thuering]]></dc:creator><pubDate>Thu, 29 Sep 2011 14:29:16 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfänger] Headerdatei: was gehört rein, was nicht? on Thu, 29 Sep 2011 14:51:18 GMT]]></title><description><![CDATA[<p>Generell: Deklarationen in die Header-Datei, Definitionen in die cpp-Datei.</p>
<pre><code class="language-cpp">// subcode.hpp oder subcode.h
#include &lt;vector&gt;

class testklasse
{
public:
	std::vector&lt;int&gt; Testvector2;
	int testvariable;
	testklasse(std::vector&lt;int&gt; Testvector2, int testvariable);
};

void testfunktion(std::vector&lt;testklasse&gt;&amp; Testvector1);
void testausgabe(std::vector&lt;testklasse&gt;&amp; Testvector1);
</code></pre>
<pre><code class="language-cpp">// subcode.cpp
#include &quot;subcode.hpp&quot;
#include &lt;iostream&gt;

testklasse::testklasse(std::vector&lt;int&gt; Testvector2, int testvariable)
    : Testvector2(Testvector2)         // Das ist eine Initialisierungsliste
    , testvariable(testvariable)          
{
}

void testfunktion(std::vector&lt;testklasse&gt;&amp; Testvector1)
{
	std::vector&lt;int&gt; tempvector;
	tempvector.push_back(12);
	tempvector.push_back(34);
	tempvector.push_back(56);

	int tempvariable = 99;
	Testvector1.push_back(testklasse(tempvector, tempvariable));
}

void testausgabe(std::vector&lt;testklasse&gt;&amp; Testvector1)
{
	std::vector&lt;testklasse&gt;::iterator i;
	for (i = Testvector1.begin(); i &lt; Testvector1.end(); i++)
	{
		std::vector&lt;int&gt;::iterator j;
		for (j = i-&gt;Testvector2.begin(); j &lt; i-&gt;Testvector2.end(); j++)
		{
			std::cout &lt;&lt; *j &lt;&lt; std::endl;
		}
	}
}
</code></pre>
<pre><code class="language-cpp">//main.cpp
#include &quot;subcode.hpp&quot;
#include &lt;vector&gt;

int main()
{
	std::vector&lt;testklasse&gt; Testvector1;
	testfunktion(Testvector1);
	testausgabe(Testvector1);
	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2125132</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2125132</guid><dc:creator><![CDATA[fdfdg]]></dc:creator><pubDate>Thu, 29 Sep 2011 14:51:18 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfänger] Headerdatei: was gehört rein, was nicht? on Thu, 29 Sep 2011 16:05:36 GMT]]></title><description><![CDATA[<p>Ungetestet, aber ungefähr so:</p>
<p>testklasse.h:</p>
<pre><code class="language-cpp">#ifndef TESTKLASSE_H
#define TESTKLASSE_H

#include &lt;vector&gt;

class testklasse
{
public:
    std::vector&lt;int&gt; Testvector2;
    int testvariable;
    testklasse(std::vector&lt;int&gt; Testvector2, int testvariable);
};

void testfunktion(std::vector&lt;testklasse&gt;&amp; Testvector1);
void testausgabe(std::vector&lt;testklasse&gt;&amp; Testvector1);
#endif
</code></pre>
<p>testklasse.cpp:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &quot;testklasse.h&quot;

testklasse::testklasse(std::vector&lt;int&gt; Testvector2, int testvariable)
{
    this-&gt;Testvector2=Testvector2;
    this-&gt;testvariable=testvariable;
}

void testfunktion(std::vector&lt;testklasse&gt;&amp; Testvector1)
{
    std::vector&lt;int&gt; tempvector;
    tempvector.push_back(12);
    tempvector.push_back(34);
    tempvector.push_back(56);

    int tempvariable = 99;
    Testvector1.push_back(testklasse(tempvector, tempvariable));
}

void testausgabe(std::vector&lt;testklasse&gt;&amp; Testvector1)
{
    std::vector&lt;testklasse&gt;::iterator i;
    for (i = Testvector1.begin(); i &lt; Testvector1.end(); i++)
    {
        std::vector&lt;int&gt;::iterator j;
        for (j = i-&gt;Testvector2.begin(); j &lt; i-&gt;Testvector2.end(); j++)
        {
            std::cout &lt;&lt; *j &lt;&lt; std::endl;
        }
    }
}
</code></pre>
<p>main.cpp:</p>
<pre><code class="language-cpp">#include &lt;vector&gt;
#include &quot;testklasse.h&quot;

int main()
{
    std::vector&lt;testklasse&gt; Testvector1;
    testfunktion(Testvector1);
    testausgabe(Testvector1);
    return 0;
}
</code></pre>
<p>edit: <strong>Oh, ich habe die Includeguards vergessen. Reineditiert.</strong></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2125133</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2125133</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 29 Sep 2011 16:05:36 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfänger] Headerdatei: was gehört rein, was nicht? on Thu, 29 Sep 2011 15:51:49 GMT]]></title><description><![CDATA[<p>Vielen Dank, wunderbar, das erklärt mir gut, wie das alles ausschauen muss.<br />
Mein Hauptprojekt besteht nun genau wie der Beispielcode aus 3 Dateien:<br />
main.cpp<br />
battle.cpp<br />
battle.h</p>
<p>Aber nun ist da noch 2 kleine Fragen:<br />
a) Sollte ich sämtliche Includes von STL-Headern in #ifndef / #define / #endif setzen, um nicht alles x-mal zu inkludieren? Oder gibts da eine Automatik?<br />
b) Ich möchte / muss für meine Klasse, die ja nun in einer Headerdatei (battle.h) definiert wird, eine globale Variable anlegen. Da gibts dann aber einen Error beim linken:</p>
<pre><code>1&gt;main.obj : error LNK2005: &quot;int global_id&quot; (?global_id@@3HA) ist bereits in battle.obj definiert.
1&gt;C:\Users\Tobias\Documents\Visual Studio 2010\Projects\rpg01\Debug\rpg01.exe : fatal error LNK1169: Mindestens ein mehrfach definiertes Symbol gefunden.
</code></pre>
<p>Obwohl diese Variable wirklich nur in battle.h benutzt wird. Ich habe diese dann sogar mit</p>
<pre><code class="language-cpp">#ifndef __GLOBALE_ID__
#define __GLOBALE_ID__
int global_id = 1;
#endif
</code></pre>
<p>ausgestattet. Gleicher Fehler. Was ist hier falsch? Besonderheiten bei globalen Variablen?</p>
<p>EDIT: Ich hab mal wieder Quatsch geschrieben, ich weiß. Die battle.h wird ja 2 mal in den cpp's inkludiert, deshalb der Fehler. Aber mit #ifndef sollte das doch behoben sein...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2125157</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2125157</guid><dc:creator><![CDATA[thuering]]></dc:creator><pubDate>Thu, 29 Sep 2011 15:51:49 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfänger] Headerdatei: was gehört rein, was nicht? on Thu, 29 Sep 2011 15:59:48 GMT]]></title><description><![CDATA[<blockquote>
<p>a) Sollte ich sämtliche Includes von STL-Headern in #ifndef / #define / #endif setzen, um nicht alles x-mal zu inkludieren? Oder gibts da eine Automatik?</p>
</blockquote>
<p>Das ist nicht notwendig. Compiler können die typischen Includeguards erkennen und vermeiden es dann, die Header ein zweites Mal einzubinden (GCC jedenfalls). Beim MSVC kann man das mit <code>#pragma once</code> auch explizit unterbinden.</p>
<blockquote>
<p>Die battle.h wird ja 2 mal in den cpp's inkludiert, deshalb der Fehler. Aber mit #ifndef sollte das doch behoben sein...</p>
</blockquote>
<p>Nein, ein #define gilt nur für den Rest der aktuellen Übersetzungseinheit.<br />
Wie gesagt, in die Header gehören nur Deklarationen. In diesem Fall sollte global_id ein statisches Member deiner Klasse sein, und definiert wird sie dann in battle.cpp.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2125164</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2125164</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Thu, 29 Sep 2011 15:59:48 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfänger] Headerdatei: was gehört rein, was nicht? on Thu, 29 Sep 2011 16:03:43 GMT]]></title><description><![CDATA[<p>thuering schrieb:</p>
<blockquote>
<p>a) Sollte ich sämtliche Includes von STL-Headern in #ifndef / #define / #endif setzen, um nicht alles x-mal zu inkludieren? Oder gibts da eine Automatik?</p>
</blockquote>
<p>Nicht nur um die STL-Header. Ein Include-Guard gehört um den gesamten Inhalt des Headers herum (btw, die Standard-Header dürften sich in der Hinsicht schon selber schützen).</p>
<blockquote>
<p>b) Ich möchte / muss für meine Klasse, die ja nun in einer Headerdatei (battle.h) definiert wird, eine globale Variable anlegen. Da gibts dann aber einen Error beim linken:</p>
<p>[...]</p>
<p>Gleicher Fehler. Was ist hier falsch? Besonderheiten bei globalen Variablen?</p>
</blockquote>
<p>Nein, für Variablen gelten die selben Regeln, die fdfdg schon genannt hat - in den Header gehört nur eine Deklaration ( <code>extern int global_id;</code> ), die Definition sollte in einer CPP-Datei landen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2125168</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2125168</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 29 Sep 2011 16:03:43 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfänger] Headerdatei: was gehört rein, was nicht? on Thu, 29 Sep 2011 16:24:02 GMT]]></title><description><![CDATA[<p>Danke, läuft.<br />
Das &quot;extern&quot; hatte ich sogar auch schon rausgefunden <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>
<p>Momentan arbeite ich mit MSVC 2010 Express - wenn ich jetzt &quot;#pragma once&quot; einbaue und später auf gcc umsteige, gibts dann damit Probleme?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2125175</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2125175</guid><dc:creator><![CDATA[thuering]]></dc:creator><pubDate>Thu, 29 Sep 2011 16:24:02 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfänger] Headerdatei: was gehört rein, was nicht? on Thu, 29 Sep 2011 16:25:55 GMT]]></title><description><![CDATA[<p>GCC unterstüzt es soweit ich weiß, aber es gibt keinen Grund das zu verwenden, da nicht standardkonform. Mach einfach folgendes:</p>
<pre><code class="language-cpp">#ifndef MYHEADER_HPP
#define MYHEADER_HPP

// quellcode

#endif // MYHEADER_HPP
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2125176</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2125176</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Thu, 29 Sep 2011 16:25:55 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfänger] Headerdatei: was gehört rein, was nicht? on Thu, 29 Sep 2011 16:30:30 GMT]]></title><description><![CDATA[<p>GCC kennt wenn ich mich nicht täusche #pragma once nicht. Aber warum willst du eigentlich von VC auf GCC umsteigen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2125179</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2125179</guid><dc:creator><![CDATA[Jonas OSDever]]></dc:creator><pubDate>Thu, 29 Sep 2011 16:30:30 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfänger] Headerdatei: was gehört rein, was nicht? on Thu, 29 Sep 2011 16:43:41 GMT]]></title><description><![CDATA[<p>Jonas OSDever schrieb:</p>
<blockquote>
<p>GCC kennt wenn ich mich nicht täusche #pragma once nicht.</p>
</blockquote>
<p>Dachte ich zwar auch, aber scheinbar kann er das schon länger.<br />
Es spricht auch nichts dagegen, beides zu verwenden. Die normalen Includeguards sind Pflicht, aber ein zusätzliches #pragma once davor schadet nicht.<br />
Ein Compiler, der #pragma once nicht kennt, muss es ignorieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2125186</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2125186</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Thu, 29 Sep 2011 16:43:41 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfänger] Headerdatei: was gehört rein, was nicht? on Thu, 29 Sep 2011 17:41:32 GMT]]></title><description><![CDATA[<p>Wenn man sich fragt, was in eine Header-Datei gehört und was nicht, hat man wahrscheinlich die one-definition-rule nicht verinnerlicht. Das ist eine &quot;große&quot; (mehr als ein Satz) und wichtige Regel, die man kennen sollte. Darüber hinaus, sollte man so wenig wie möglich im Header verraten, um Abhängigkeiten zu reduzieren. Der Rest ergibt sich mit gesundem Menschenverstand.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2125220</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2125220</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Thu, 29 Sep 2011 17:41:32 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfänger] Headerdatei: was gehört rein, was nicht? on Thu, 29 Sep 2011 18:49:11 GMT]]></title><description><![CDATA[<p><a href="http://www.c-plusplus.net/forum/p1993089#1993089" rel="nofollow">http://www.c-plusplus.net/forum/p1993089#1993089</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2125251</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2125251</guid><dc:creator><![CDATA[wxSkip]]></dc:creator><pubDate>Thu, 29 Sep 2011 18:49:11 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfänger] Headerdatei: was gehört rein, was nicht? on Thu, 29 Sep 2011 19:21:25 GMT]]></title><description><![CDATA[<p>OK, #ifndef und #pragma once werde ich beide verwenden. Zu gcc werde ich sicherlich demnächst wechseln, da ich Plattformabhängig programmieren möchte und mein Progrämmchen dann auch gerne direkt unter LiNNux weiterentwickle. Außerdem habe ich in diesem Forum schon des öfteren gelesen, gcc sei der einzige ernsthafte Compiler... <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="😃"
    /> <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="😉"
    /><br />
wxSkip: Vielen Dank für diesen äußerst informativen Link / Post! <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/2125256</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2125256</guid><dc:creator><![CDATA[thuering]]></dc:creator><pubDate>Thu, 29 Sep 2011 19:21:25 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfänger] Headerdatei: was gehört rein, was nicht? on Thu, 29 Sep 2011 19:22:55 GMT]]></title><description><![CDATA[<p>thuering schrieb:</p>
<blockquote>
<p>OK, #ifndef und #pragma once werde ich beide verwenden. Zu gcc werde ich sicherlich demnächst wechseln, da ich Plattformabhängig programmieren möchte und mein Progrämmchen dann auch gerne direkt unter LiNNux weiterentwickle. Außerdem habe ich in diesem Forum schon des öfteren gelesen, gcc sei der einzige ernsthafte Compiler... <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="😃"
    /> <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="😉"
    /><br />
wxSkip: Vielen Dank für diesen äußerst informativen Link / Post! <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>
</blockquote>
<p>Keine Ursache, verlinke ich immer <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="😉"
    /><br />
Und das mit dem ernsthaften Compiler hast du immer von Pi gelesen, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2125258</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2125258</guid><dc:creator><![CDATA[wxSkip]]></dc:creator><pubDate>Thu, 29 Sep 2011 19:22:55 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfänger] Headerdatei: was gehört rein, was nicht? on Thu, 29 Sep 2011 20:24:01 GMT]]></title><description><![CDATA[<p>Ach, ich lese gerade, ich möchte natürlich plattformUNabhängig programmieren <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="🙄"
    /><br />
Ich hatte das Gefühl, den Spruch über gcc hier von mehreren Personen zu lesen...</p>
<p>Pi == 314159265358979 ? <a href="http://www.c-plusplus.net/forum/u115511" rel="nofollow">http://www.c-plusplus.net/forum/u115511</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2125280</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2125280</guid><dc:creator><![CDATA[thuering]]></dc:creator><pubDate>Thu, 29 Sep 2011 20:24:01 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfänger] Headerdatei: was gehört rein, was nicht? on Thu, 29 Sep 2011 20:50:46 GMT]]></title><description><![CDATA[<p>Ja, ich bin ich. Oder so.</p>
<p>Und für fortgeschrittenes C++ ist der GCC der bessere Compiler.<br />
Er ist, was templates angeht, extrem standardkonform, MSVC führt da irgendwas komisches auf, offenbar kein Königs-Lookup.</p>
<p>Wie auch immer. MSVC ist für dich momentan (noch) gut genug. Der Debugger von MSVC ist übrigens wirklich super.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2125298</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2125298</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Thu, 29 Sep 2011 20:50:46 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfänger] Headerdatei: was gehört rein, was nicht? on Thu, 29 Sep 2011 21:41:50 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>Wie auch immer. MSVC ist für dich momentan (noch) gut genug.</p>
</blockquote>
<p>Na Danke! Toll, wie Du meine weltweit beachteten Programmierleistungen schätzt... *hust* <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>314159265358979 schrieb:</p>
<blockquote>
<p>Der Debugger von MSVC ist übrigens wirklich super.</p>
</blockquote>
<p>Als wenn ich schon SO WEIT wäre, dass ich den Debugger auch nur ein mal schon benutzt hätte...<br />
Ich brauche weder MSVC noch gcc. Ich programmiere mir heute Abend meinen eigenen C++ Compiler. In Assembler und Ada. Programmiersprachen für <em>echte</em> Männer halt. <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</p>
<p>Mal im Ernst: Ich will demnächst wirklich weg von Windows; Ich würde das gerne nur noch in Ausnahmefällen als VM starten. Ich bin schon lange großer openSUSE- aber auch Solaris-Fan (was Serversysteme angeht). Für beide Systeme gibt es Eclipse, welches anscheinend mit ordentlich Rückenwind aus der Industrie vorangetrieben wird. Wie ist denn hier die Meinung zu Eclipse?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2125315</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2125315</guid><dc:creator><![CDATA[thuering]]></dc:creator><pubDate>Thu, 29 Sep 2011 21:41:50 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfänger] Headerdatei: was gehört rein, was nicht? on Thu, 29 Sep 2011 21:42:47 GMT]]></title><description><![CDATA[<p>Ich benutze die Eclipse selbst ... und bin damit wohl der einzige hier <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/2125316</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2125316</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Thu, 29 Sep 2011 21:42:47 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfänger] Headerdatei: was gehört rein, was nicht? on Thu, 29 Sep 2011 22:26:58 GMT]]></title><description><![CDATA[<p><strong>Zufallszahlen mit Minimum / Maximumwert</strong><br />
Die Syntax zur Erzeugung von Zufallszahlen ist mir bekannt. Nur stehe ich gerade auf dem Mathe-Schlauch, wie ich Zufallszahlen in einem bestimmten Zahlenbereich erzeuge.</p>
<p>Das hier</p>
<pre><code class="language-cpp">int Wuerfeln(int min, int max)
{
	int zufallszahl = rand() % max + min;
	return zufallszahl;
}
</code></pre>
<p>ist ja mathematisch falsch, denn so kann das Maximum überschritten werden.<br />
Ich hab wieder Würmer im Hirn...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2125322</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2125322</guid><dc:creator><![CDATA[thuering]]></dc:creator><pubDate>Thu, 29 Sep 2011 22:26:58 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfänger] Headerdatei: was gehört rein, was nicht? on Thu, 29 Sep 2011 22:56:03 GMT]]></title><description><![CDATA[<p>Dann zieh doch vorher das Minimum vom Maximum ab!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2125325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2125325</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 29 Sep 2011 22:56:03 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfänger] Headerdatei: was gehört rein, was nicht? on Thu, 29 Sep 2011 23:04:14 GMT]]></title><description><![CDATA[<p>Jaaaa! Jaaaa! Das ist es! Warum nicht gleich?! Naja, es ist schon spät.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2125326</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2125326</guid><dc:creator><![CDATA[thuering]]></dc:creator><pubDate>Thu, 29 Sep 2011 23:04:14 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfänger] Headerdatei: was gehört rein, was nicht? on Fri, 30 Sep 2011 12:03:06 GMT]]></title><description><![CDATA[<p><strong>Nochmal einfache Mathematik</strong></p>
<p>Ich möchte ein if möglichst knapp formulieren:</p>
<p>if (runde == 1 oder 4 oder 7 oder 10 oder 13 oder...) (immer in 3 Schritten weiter)</p>
<p>Mach ich da was mit dem Modula-Operator?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2125492</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2125492</guid><dc:creator><![CDATA[thuering]]></dc:creator><pubDate>Fri, 30 Sep 2011 12:03:06 GMT</pubDate></item><item><title><![CDATA[Reply to [Anfänger] Headerdatei: was gehört rein, was nicht? on Fri, 30 Sep 2011 12:10:26 GMT]]></title><description><![CDATA[<p>Das Ding heißt Modulo</p>
<pre><code class="language-cpp">if ((runde - 1) % 3 == 0)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2125494</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2125494</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Fri, 30 Sep 2011 12:10:26 GMT</pubDate></item></channel></rss>