<?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[Wie kann ich mehrere Zeiger &amp;quot;returnen&amp;quot;?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hätte gerne eine Funktion, die mir nicht nur einen sonder mehrere Zeiger auf Instanzen der Klasse &quot;MeineKlasse&quot; wiedergibt. Nur fehlt mir da das Wissen, wie so etwas Syntaktisch korrekt umzusetzten ist. Mein C++ Anfänger Buch gibt da leider auch nichts her <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Suchen tue ich quasie so etwas:</p>
<pre><code class="language-cpp">MeineKlasse*[2] function () {
  MeineKlasse* array[2] = {instanz1, instanz2};
  return array;
}
</code></pre>
<p>Ich würd mich freuen, wenn ihr mir zeigen würdet, wie's richtig geht..</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/265778/wie-kann-ich-mehrere-zeiger-quot-returnen-quot</link><generator>RSS for Node</generator><lastBuildDate>Thu, 03 Sep 2026 19:27:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/265778.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 28 Apr 2010 16:25:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wie kann ich mehrere Zeiger &amp;quot;returnen&amp;quot;? on Wed, 28 Apr 2010 16:25:19 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hätte gerne eine Funktion, die mir nicht nur einen sonder mehrere Zeiger auf Instanzen der Klasse &quot;MeineKlasse&quot; wiedergibt. Nur fehlt mir da das Wissen, wie so etwas Syntaktisch korrekt umzusetzten ist. Mein C++ Anfänger Buch gibt da leider auch nichts her <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Suchen tue ich quasie so etwas:</p>
<pre><code class="language-cpp">MeineKlasse*[2] function () {
  MeineKlasse* array[2] = {instanz1, instanz2};
  return array;
}
</code></pre>
<p>Ich würd mich freuen, wenn ihr mir zeigen würdet, wie's richtig geht..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1889564</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1889564</guid><dc:creator><![CDATA[OOP Lehrling]]></dc:creator><pubDate>Wed, 28 Apr 2010 16:25:19 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich mehrere Zeiger &amp;quot;returnen&amp;quot;? on Wed, 28 Apr 2010 16:26:37 GMT]]></title><description><![CDATA[<p>std:pair sollte zwei Werte aufnehmen koennen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1889566</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1889566</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Wed, 28 Apr 2010 16:26:37 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich mehrere Zeiger &amp;quot;returnen&amp;quot;? on Wed, 28 Apr 2010 16:28:32 GMT]]></title><description><![CDATA[<p>Eine mögliche Lösung (für n Zeiger):</p>
<pre><code class="language-cpp">#include &lt;vector&gt;

// ...

std::vector&lt;MeineKlasse*&gt; foo()
{
  // ...
  std::vector&lt;MeineKlasse*&gt; v;
  v.push_back(instanz1);
  v.push_back(instanz2};
  return v;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1889567</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1889567</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Wed, 28 Apr 2010 16:28:32 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich mehrere Zeiger &amp;quot;returnen&amp;quot;? on Wed, 28 Apr 2010 16:41:35 GMT]]></title><description><![CDATA[<p>Ansonsten kannst du zusätzliche Zeiger auf Zeiger oder Referenzen auf Zeiger<br />
übergeben, die du dann in der Funktion verändern kannst.</p>
<p>Mal ne andere Frage.<br />
Wird der (Inhalt von) std::vector in dem Beispiel von asc wirklich kopiert oder<br />
wird sowas i.d.R. von einem Compiler wegoptimiert?<br />
Also ich meine Übernehmen der Speicherbereiche auf dem Heap anstelle von<br />
neu alloziieren und Kopieren der Inhalte und löschen des alten Speicherbereichs?</p>
<p>Gruß,<br />
Newbie</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1889579</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1889579</guid><dc:creator><![CDATA[Newbie19]]></dc:creator><pubDate>Wed, 28 Apr 2010 16:41:35 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich mehrere Zeiger &amp;quot;returnen&amp;quot;? on Wed, 28 Apr 2010 18:13:41 GMT]]></title><description><![CDATA[<p>Newbie19 schrieb:</p>
<blockquote>
<p>Mal ne andere Frage.<br />
Wird der (Inhalt von) std::vector in dem Beispiel von asc wirklich kopiert oder<br />
wird sowas i.d.R. von einem Compiler wegoptimiert?</p>
</blockquote>
<p>kommt darauf an, was für einen Compiler du benutzt und wie du die Funktion aufrufst. Der GNU C++ Compiler kann alle unnötigen Kopien wegoptimieren, wenn Du sie zB so aufrufst:</p>
<pre><code class="language-cpp">vector&lt;MeineKlasse*&gt; pv = foo();
</code></pre>
<p>Das heißt, die Funktion foo konstruiert/füllt direkt den Vektor pv. (ist aber nicht vom C++ Standard garantiert).</p>
<p>Wenn's aber immer nur zwei Zeiger sind, würde ich dafür std::pair nehmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1889630</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1889630</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Wed, 28 Apr 2010 18:13:41 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich mehrere Zeiger &amp;quot;returnen&amp;quot;? on Wed, 28 Apr 2010 18:15:04 GMT]]></title><description><![CDATA[<p>Newbie19 schrieb:</p>
<blockquote>
<p>Mal ne andere Frage.<br />
Wird der (Inhalt von) std::vector in dem Beispiel von asc wirklich kopiert oder<br />
wird sowas i.d.R. von einem Compiler wegoptimiert?<br />
Also ich meine Übernehmen der Speicherbereiche auf dem Heap anstelle von<br />
neu alloziieren und Kopieren der Inhalte und löschen des alten Speicherbereichs?</p>
</blockquote>
<p>Moderne Compiler sind fähig, unter gewissen Bedingungen RVO bzw. NRVO (Named Return Value Optimization) anzuwenden und somit unnötige Kopien wegzulassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1889633</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1889633</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 28 Apr 2010 18:15:04 GMT</pubDate></item></channel></rss>