<?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[Liste mit Pointern auf structs]]></title><description><![CDATA[<p>Hallo zusammen.</p>
<p>Nehmen wir an ich habe folgende Struktur (alle Klassen aus der STL):</p>
<pre><code class="language-cpp">typedef struct
{
  int    a;
  string b;
} Test;
</code></pre>
<p>Und dazu eine Liste mit Pointern auf Test und eine Instanz von Test:</p>
<pre><code class="language-cpp">list&lt;Test*&gt; tListe;
Test t;
</code></pre>
<p>Kann ich jetzt, nachdem ich t.a und t.b Werte zugewiesen habe, in der Liste einen Pointer auf eine Kopie von t einfügen?</p>
<pre><code class="language-cpp">tListe.insert(tListe.begin(), new Test(t));
</code></pre>
<p>Oder funktioniert das so nicht? Ich arbeite so gut wie nie mit structs...</p>
<p>Danke für eure Hilfe.<br />
Walli</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/247114/liste-mit-pointern-auf-structs</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 18:23:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/247114.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 06 Aug 2009 09:47:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Liste mit Pointern auf structs on Thu, 06 Aug 2009 09:47:30 GMT]]></title><description><![CDATA[<p>Hallo zusammen.</p>
<p>Nehmen wir an ich habe folgende Struktur (alle Klassen aus der STL):</p>
<pre><code class="language-cpp">typedef struct
{
  int    a;
  string b;
} Test;
</code></pre>
<p>Und dazu eine Liste mit Pointern auf Test und eine Instanz von Test:</p>
<pre><code class="language-cpp">list&lt;Test*&gt; tListe;
Test t;
</code></pre>
<p>Kann ich jetzt, nachdem ich t.a und t.b Werte zugewiesen habe, in der Liste einen Pointer auf eine Kopie von t einfügen?</p>
<pre><code class="language-cpp">tListe.insert(tListe.begin(), new Test(t));
</code></pre>
<p>Oder funktioniert das so nicht? Ich arbeite so gut wie nie mit structs...</p>
<p>Danke für eure Hilfe.<br />
Walli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1756172</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1756172</guid><dc:creator><![CDATA[der_Walli]]></dc:creator><pubDate>Thu, 06 Aug 2009 09:47:30 GMT</pubDate></item><item><title><![CDATA[Reply to Liste mit Pointern auf structs on Thu, 06 Aug 2009 09:59:23 GMT]]></title><description><![CDATA[<p>In C++ wird der typdef fürs struct nicht verwendet.<br />
struct und class sind in C++ bis auf die default Sichtbarkeit gleich!</p>
<p>Falls dein Typ Test ein Copy Ctor hat (und das hat er bei Dir), dann funktioniert dein Code.</p>
<p>Simon</p>
<p><strong>Edit:</strong><br />
a.) delete nicht vergessen<br />
b.) Warum speicherst Du Pointer in der List und nicht direkt die Werte?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1756180</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1756180</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Thu, 06 Aug 2009 09:59:23 GMT</pubDate></item><item><title><![CDATA[Reply to Liste mit Pointern auf structs on Thu, 06 Aug 2009 09:59:01 GMT]]></title><description><![CDATA[<p>der_Walli schrieb:</p>
<blockquote>
<p>Nehmen wir an ich habe folgende Struktur (alle Klassen aus der STL):</p>
<pre><code class="language-cpp">typedef struct
{
  int    a;
  string b;
} Test;
</code></pre>
</blockquote>
<p>1. Ungewöhlicher Schreibstil, da struct, class, enum... bereits Typdefinitionen sind.<br />
2. Diese Struktur deutet auf die Verwendung von &quot;using namespace std&quot; im Header hin, davon kann ich nur dringends abraten [Unter der Annahme das string den std::string meint].</p>
<p>In C++ ist eigentlich der folgende Stil üblich:</p>
<pre><code class="language-cpp">struct Test
{
  int         a;
  std::string b;
};
</code></pre>
<p>der_Walli schrieb:</p>
<blockquote>
<p>Kann ich jetzt, nachdem ich t.a und t.b Werte zugewiesen habe, in der Liste einen Pointer auf eine Kopie von t einfügen?</p>
</blockquote>
<p>Ja, sofern du dich auch selbst später um das delete kümmerst.</p>
<p>der_Walli schrieb:</p>
<blockquote>
<p>Oder funktioniert das so nicht? Ich arbeite so gut wie nie mit structs...</p>
</blockquote>
<p>In C++ gibt es keinen unterschied zwischen struct und class, mit Ausnahme des Default-Zugriffmodifikators (private bei class, public bei struct).</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1756182</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1756182</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Thu, 06 Aug 2009 09:59:01 GMT</pubDate></item><item><title><![CDATA[Reply to Liste mit Pointern auf structs on Thu, 06 Aug 2009 10:04:32 GMT]]></title><description><![CDATA[<p>Ok danke.</p>
<p>Die Formalitäten kann ich nicht beeinflussen. Der Code ist nicht von mir und ich soll ihn möglichst so stehen lassen und nur die Fehler beseitigen. Wenn ich dort alles auf den Standard zurückführen würde, hätte ich Jahre zu tun. Das ganze Szenario ist auch etwas komplexer als hier beschrieben.</p>
<p>Und keine Angst, den delete vergesse ich schon nicht. <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/1756184</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1756184</guid><dc:creator><![CDATA[der_Walli]]></dc:creator><pubDate>Thu, 06 Aug 2009 10:04:32 GMT</pubDate></item></channel></rss>