<?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[Initialisierung eines Arrays]]></title><description><![CDATA[<p>Hallo,</p>
<p>man kann ja Arrays mit geschweiften Klammern initialisieren.<br />
Ich möchte gerne eine Referenz auf ein anderes (Senf-)Objekt mit &quot;reinreichen&quot;:</p>
<pre><code class="language-cpp">class Bockwurst
{
public:
	Bockwurst( bool &amp;mit_senf ) : has_senf(mit_senf) {};
protected:
	bool &amp;has_senf;
};

int main()
{
	bool master_senf;
	Bockwurst a[2] = { master_senf, master_senf };
	Bockwurst b[2] = { Bockwurst(master_senf), Bockwurst(master_senf) };
	Bockwurst *c = new Bockwurst( master_senf );
//	Bockwurst *d = new Bockwurst[2]; // wie initialisieren???
}
</code></pre>
<p>Jetzt sollten alle Würste auf den Master-Senf verweisen.<br />
Die ersten drei Beispiele scheinen zu funktionieren. Im vierten Fall, weiß ich nicht, wie ich es schreiben kann. Ich kann Arrays oder Zeiger auf Bockwürste initialisieren, nicht aber einen Bockwurstarray-Zeiger?</p>
<p>Das würde mich mal interessieren...</p>
<p>Danke,<br />
Stimpleton</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/186682/initialisierung-eines-arrays</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 10:20:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/186682.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 11 Jul 2007 11:19:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Initialisierung eines Arrays on Wed, 11 Jul 2007 11:19:12 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>man kann ja Arrays mit geschweiften Klammern initialisieren.<br />
Ich möchte gerne eine Referenz auf ein anderes (Senf-)Objekt mit &quot;reinreichen&quot;:</p>
<pre><code class="language-cpp">class Bockwurst
{
public:
	Bockwurst( bool &amp;mit_senf ) : has_senf(mit_senf) {};
protected:
	bool &amp;has_senf;
};

int main()
{
	bool master_senf;
	Bockwurst a[2] = { master_senf, master_senf };
	Bockwurst b[2] = { Bockwurst(master_senf), Bockwurst(master_senf) };
	Bockwurst *c = new Bockwurst( master_senf );
//	Bockwurst *d = new Bockwurst[2]; // wie initialisieren???
}
</code></pre>
<p>Jetzt sollten alle Würste auf den Master-Senf verweisen.<br />
Die ersten drei Beispiele scheinen zu funktionieren. Im vierten Fall, weiß ich nicht, wie ich es schreiben kann. Ich kann Arrays oder Zeiger auf Bockwürste initialisieren, nicht aber einen Bockwurstarray-Zeiger?</p>
<p>Das würde mich mal interessieren...</p>
<p>Danke,<br />
Stimpleton</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1322988</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1322988</guid><dc:creator><![CDATA[stimpleton]]></dc:creator><pubDate>Wed, 11 Jul 2007 11:19:12 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierung eines Arrays on Wed, 11 Jul 2007 11:22:40 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">Bockwurst *p[2];

p[0]= new bockwurst();
p[1]= new bockwurst();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1322990</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1322990</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 11 Jul 2007 11:22:40 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierung eines Arrays on Wed, 11 Jul 2007 11:28:49 GMT]]></title><description><![CDATA[<p>Sowas ist von der Sprache nicht vorgesehen worden - new[] initialisiert die Array-Elemente <strong>immer</strong> mit dem Default-Konstruktor (wenn der nicht existiert, gibt das einen Fehler). Als Alternative könntest du die dynamischen Daten in einem vector&lt;&gt; unterbringen (aber dazu brauchst du einen funktionsfähige Copy-Ctor und Zuweisungsoperator) oder das dynamische Array von Hand per Placement new füllen:</p>
<pre><code class="language-cpp">//Achtung - Nutzung auf eigene Gefahr:
char* bwdata=new char[2*sizeof(Bockwurst)];
Bockwurst* d=(Bockwurst*)bwdata;
for(int i=0;i&lt;2;++i)
  new(d+i)Bockwurst(master_Senf);
...

for(int i=1;i&gt;=0;--i)
  d[i].~Bockwurst();
delete[]bwdata;
</code></pre>
<p>PS: Über den Sinn der Klasse äußere ich mich mal nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1322997</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1322997</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 11 Jul 2007 11:28:49 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierung eines Arrays on Wed, 11 Jul 2007 12:02:24 GMT]]></title><description><![CDATA[<p>Vielen Dank!</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/13742">@BorisDieKlinge</a>:<br />
Also das Array von Bockwurst-Zeigern hätte tatsächlich (als Workaround) für mein Problem gereicht.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/10318">@CStoll</a><br />
Aha! Da habe ich doch gleich wieder eine Menge über &quot;new&quot; gelernt ... Klasse!</p>
<blockquote>
<p>PS: Über den Sinn der Klasse äußere ich mich mal nicht.</p>
</blockquote>
<p>Der ergibt sich erst im Zusammenhang mit &quot;class Wuerstchenbude&quot;... <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/1323027</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1323027</guid><dc:creator><![CDATA[stimpleton]]></dc:creator><pubDate>Wed, 11 Jul 2007 12:02:24 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierung eines Arrays on Wed, 11 Jul 2007 12:04:40 GMT]]></title><description><![CDATA[<p>stimpleton schrieb:</p>
<blockquote>
<blockquote>
<p>PS: Über den Sinn der Klasse äußere ich mich mal nicht.</p>
</blockquote>
<p>Der ergibt sich erst im Zusammenhang mit &quot;class Wuerstchenbude&quot;... <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>
</blockquote>
<p>Und du willst wirklich jedem Käufer, der jemals bei dir war, nachträglich noch eine Portion Senf auf die Wurst packen können? Also ich würde dir die Wurst noch posthum in den Allerwertesten stecken für so eine Aktion.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1323029</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1323029</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 11 Jul 2007 12:04:40 GMT</pubDate></item></channel></rss>