<?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[Boost-Zufallsgenerator in eigener Klasse bereit machen?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich will mir eine Klasse bauen, die einen Zufallsgenerator hat, bestehend aus diesen Klassen:</p>
<ul>
<li>boost::mt19937</li>
<li>boost::uniform_int&lt;&gt;</li>
<li>boost::variate_generator&lt;boost::mt19937&amp;, boost::uniform_int&lt;&gt; &gt;</li>
</ul>
<p>Wenn ich meine Klasse nun instanziere, will ich in der Element-Initalisiererliste des Konstruktors natürlich gleich die Boost-Objekte initalisieren.</p>
<p><strong>Das Problem:</strong> Bevor ich den variate_generator initalisieren kann, müssen bereits die anderen beiden Objekte initalisiert sein. Für die Element-Initalisiererliste ist aber nicht definiert, in welcher Reihenfolge sie ausgewertet wird.</p>
<p>Was kann man da noch tun? Als einziges würde mir einfallen, den variate_generator auf dem Heap anzulegen, damit ich den variate_generator praktisch erst im Konstruktor-Rumpf erzeugen muss. Ist nur bisschen hässlich, weil ich dann eben ein Element auf dem Heap hab...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/207515/boost-zufallsgenerator-in-eigener-klasse-bereit-machen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 11 Oct 2026 07:01:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/207515.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 08 Mar 2008 17:44:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Boost-Zufallsgenerator in eigener Klasse bereit machen? on Sat, 08 Mar 2008 17:44:34 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich will mir eine Klasse bauen, die einen Zufallsgenerator hat, bestehend aus diesen Klassen:</p>
<ul>
<li>boost::mt19937</li>
<li>boost::uniform_int&lt;&gt;</li>
<li>boost::variate_generator&lt;boost::mt19937&amp;, boost::uniform_int&lt;&gt; &gt;</li>
</ul>
<p>Wenn ich meine Klasse nun instanziere, will ich in der Element-Initalisiererliste des Konstruktors natürlich gleich die Boost-Objekte initalisieren.</p>
<p><strong>Das Problem:</strong> Bevor ich den variate_generator initalisieren kann, müssen bereits die anderen beiden Objekte initalisiert sein. Für die Element-Initalisiererliste ist aber nicht definiert, in welcher Reihenfolge sie ausgewertet wird.</p>
<p>Was kann man da noch tun? Als einziges würde mir einfallen, den variate_generator auf dem Heap anzulegen, damit ich den variate_generator praktisch erst im Konstruktor-Rumpf erzeugen muss. Ist nur bisschen hässlich, weil ich dann eben ein Element auf dem Heap hab...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1470628</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1470628</guid><dc:creator><![CDATA[Zufälle gibts!]]></dc:creator><pubDate>Sat, 08 Mar 2008 17:44:34 GMT</pubDate></item><item><title><![CDATA[Reply to Boost-Zufallsgenerator in eigener Klasse bereit machen? on Sat, 08 Mar 2008 18:46:33 GMT]]></title><description><![CDATA[<p>Ich kenne mich mit der genauen Reihenfolge der Initialisierungen nicht aus, weil ich damit nie Probleme hatte, aber dieser Ausschnitt aus einem Tutorial sagt was anderes:</p>
<p><a href="http://ladedu.com/cpp/kapitel9_reihenfolge_der_elementinitialisierung" rel="nofollow">http://ladedu.com/cpp/kapitel9_reihenfolge_der_elementinitialisierung</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1470655</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1470655</guid><dc:creator><![CDATA[The-Kenny]]></dc:creator><pubDate>Sat, 08 Mar 2008 18:46:33 GMT</pubDate></item><item><title><![CDATA[Reply to Boost-Zufallsgenerator in eigener Klasse bereit machen? on Sat, 08 Mar 2008 19:01:22 GMT]]></title><description><![CDATA[<p>Oh ja, stimmt. Da habe ich wohl etwas durcheinander gebracht, so wie es im Tutorial steht, ist es korrekt.</p>
<p><a href="http://www.kuzbass.ru:8086/docs/isocpp/special.html#class.base.init" rel="nofollow">http://www.kuzbass.ru:8086/docs/isocpp/special.html#class.base.init</a> schrieb:</p>
<blockquote>
<p>Then, nonstatic data members shall be initialized in the order they were declared in the class definition (again regardless of the order of the mem-initializers).</p>
</blockquote>
<p>Gut, damit wäre das Problem ja schon gelöst. <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>Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1470658</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1470658</guid><dc:creator><![CDATA[Zufälle gibts!]]></dc:creator><pubDate>Sat, 08 Mar 2008 19:01:22 GMT</pubDate></item></channel></rss>