<?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[Klasse mit statischen Funktionen, Konstruktor]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine Klasse mit statischen mathematischen Funktionen, die rand() nutzen (bitte keine diskussion über die statischen funktionen, dass muss vom projekt her so sein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /> )</p>
<p>Na ja, ansich sollte man ja srand() aufrufen, mit einem Seed. Das einzige was mir einfällt, wäre ein Singleton der dann bei der ersten erzeugung srand aufruft. Ansonsten halt mit einer booleschen variable in den statischen funktionen prüfen, ob schonmal srand() aufgerufen wurde.</p>
<p>Geht das nicht besser ?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/273439/klasse-mit-statischen-funktionen-konstruktor</link><generator>RSS for Node</generator><lastBuildDate>Fri, 28 Aug 2026 05:13:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/273439.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 07 Sep 2010 09:59:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klasse mit statischen Funktionen, Konstruktor on Tue, 07 Sep 2010 09:59:00 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine Klasse mit statischen mathematischen Funktionen, die rand() nutzen (bitte keine diskussion über die statischen funktionen, dass muss vom projekt her so sein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /> )</p>
<p>Na ja, ansich sollte man ja srand() aufrufen, mit einem Seed. Das einzige was mir einfällt, wäre ein Singleton der dann bei der ersten erzeugung srand aufruft. Ansonsten halt mit einer booleschen variable in den statischen funktionen prüfen, ob schonmal srand() aufgerufen wurde.</p>
<p>Geht das nicht besser ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1949181</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1949181</guid><dc:creator><![CDATA[Staticer]]></dc:creator><pubDate>Tue, 07 Sep 2010 09:59:00 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse mit statischen Funktionen, Konstruktor on Tue, 07 Sep 2010 10:02:47 GMT]]></title><description><![CDATA[<p>Wieso müssen die denn statisch sein?</p>
<p>In deinem Topic steht etwas von Singleton. Wenn diese Klasse ein Singleton wäre, könntest du srand dann dort aufrufen, wo die einzige Instanz der Klasse erstellt wird, da bräuchtest Du keine weitere Abfrage.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1949184</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1949184</guid><dc:creator><![CDATA[Eisflamme]]></dc:creator><pubDate>Tue, 07 Sep 2010 10:02:47 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse mit statischen Funktionen, Konstruktor on Tue, 07 Sep 2010 10:07:36 GMT]]></title><description><![CDATA[<p>Du kannst auch so etwas fieses machen, dann wird srand automatisch beim Programmstart aufgerufen:</p>
<pre><code class="language-cpp">int srander()
{
 srand(/*gewünschter Seed*/)
 return 0;
}

// Globale Variable:
int dummy=srander();
</code></pre>
<p>Geht bestimmt auch irgendwie eleganter, habe ich gerade auf die Schnelle hingefrickelt.</p>
<p>Ansonsten: Bastel dir eine Zufallsgeneratorklasse, nutz eine der zahlreichen fertigen Lösungen oder schau mal ob dein Compiler schon die Zufallsgeneratorklassen aus dem nächsten Standard unterstützt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1949187</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1949187</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 07 Sep 2010 10:07:36 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse mit statischen Funktionen, Konstruktor on Tue, 07 Sep 2010 10:09:21 GMT]]></title><description><![CDATA[<p>ich werds nun über eine weitere static-methode lösen, die der anwender dann halt vorher aufrufen muss. erscheint mir &quot;am schönsten&quot;. Ab und an werden halt Rahmenbedingungen einfach vorgegeben, an die ich mich halten muss <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/1949190</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1949190</guid><dc:creator><![CDATA[Staticer]]></dc:creator><pubDate>Tue, 07 Sep 2010 10:09:21 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse mit statischen Funktionen, Konstruktor on Tue, 07 Sep 2010 15:47:32 GMT]]></title><description><![CDATA[<p>Staticer schrieb:</p>
<blockquote>
<p>Ab und an werden halt Rahmenbedingungen einfach vorgegeben, an die ich mich halten muss <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>
</blockquote>
<p>Hast du nachgefragt, um dich an die vorgegebenen Rahmenbedingungen zu halten?</p>
<p>Ich würde das nicht machen, Benutzer werden das sicher vergessen. Entweder du nimmst SeppJs Variante (wobei es da Probleme geben könnte, wenn die globale Variable noch nicht mit dem <code>srander()</code> -Wert initialisiert ist) oder eine leichte Variation davon. <code>bool</code> -Flag ist auch eine Möglichkeit. Hauptsache du kannst nachher ein <code>random()</code> oder so aufrufen, das selbst für die Initialisierung sorgt, sodass der Anwendercode frei von <code>if</code> s ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1949346</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1949346</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 07 Sep 2010 15:47:32 GMT</pubDate></item></channel></rss>