<?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[struct aus STL komponenten zurückgeben]]></title><description><![CDATA[<p>Hi,</p>
<pre><code class="language-cpp">struct Pair{
  explicit Pair ( std::string, std::string );
  std::string Name;
  std::string DNS;
};

Pair::Pair ( std::string Name, std::string DNS ){
  this-&gt;Name = Name;
  this-&gt;DNS = DNS;
}

struct Information{
  std::string Version;
  std::vector &lt; std::string &gt; Path;
  std::vector &lt; Pair &gt; Servers;
};
</code></pre>
<p>so sieht meine datenstuktur aus, und jetzt will ich die dann nachdem die befüllt wurde zurückgeben...</p>
<pre><code class="language-cpp">std::vector &lt; Information &gt;* IniFile::ReadIniFile (){
  std::string Line;
  std::vector &lt; Information &gt; * Infs = new std::vector &lt; Information&gt;;
  ...

  return Infs;
}
</code></pre>
<p>nur bleibt dann im hauptprogramm die...</p>
<pre><code class="language-cpp">vector &lt; Information &gt;* Inform = Reader.ReadIniFile();
</code></pre>
<p>leer.</p>
<p>was mache ich da falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/233690/struct-aus-stl-komponenten-zurückgeben</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 20:37:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/233690.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 07 Feb 2009 18:37:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to struct aus STL komponenten zurückgeben on Sat, 07 Feb 2009 18:37:09 GMT]]></title><description><![CDATA[<p>Hi,</p>
<pre><code class="language-cpp">struct Pair{
  explicit Pair ( std::string, std::string );
  std::string Name;
  std::string DNS;
};

Pair::Pair ( std::string Name, std::string DNS ){
  this-&gt;Name = Name;
  this-&gt;DNS = DNS;
}

struct Information{
  std::string Version;
  std::vector &lt; std::string &gt; Path;
  std::vector &lt; Pair &gt; Servers;
};
</code></pre>
<p>so sieht meine datenstuktur aus, und jetzt will ich die dann nachdem die befüllt wurde zurückgeben...</p>
<pre><code class="language-cpp">std::vector &lt; Information &gt;* IniFile::ReadIniFile (){
  std::string Line;
  std::vector &lt; Information &gt; * Infs = new std::vector &lt; Information&gt;;
  ...

  return Infs;
}
</code></pre>
<p>nur bleibt dann im hauptprogramm die...</p>
<pre><code class="language-cpp">vector &lt; Information &gt;* Inform = Reader.ReadIniFile();
</code></pre>
<p>leer.</p>
<p>was mache ich da falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1659668</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1659668</guid><dc:creator><![CDATA[Schurke]]></dc:creator><pubDate>Sat, 07 Feb 2009 18:37:09 GMT</pubDate></item><item><title><![CDATA[Reply to struct aus STL komponenten zurückgeben on Sat, 07 Feb 2009 18:43:12 GMT]]></title><description><![CDATA[<p>mh</p>
<p>müsste nicht am ende deiner funktion</p>
<pre><code class="language-cpp">return &amp;Infs;
</code></pre>
<p>heissen?</p>
<p>du willst ja einen zeiger zurückgeben<br />
ein zeiger ist ja eigendlich nur die addresse des objektes im speicher...</p>
<p>so wie dus bis jetzt gemacht hast hast du das objekt zurückgegeben<br />
mit dem &amp; gibts du nur die addresse zurück</p>
<p>aber achtung !<br />
denk an das delete am ende, zu jeden new gehört ein delete</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1659677</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1659677</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Sat, 07 Feb 2009 18:43:12 GMT</pubDate></item><item><title><![CDATA[Reply to struct aus STL komponenten zurückgeben on Sat, 07 Feb 2009 18:50:26 GMT]]></title><description><![CDATA[<p>&amp;Infs würde die adresse meines zeigers zurückgeben, ich will aber die adresse meines objekts im speichers zurückgeben, bin mir relativ sicher das dass stimmt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1659685</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1659685</guid><dc:creator><![CDATA[Schurke]]></dc:creator><pubDate>Sat, 07 Feb 2009 18:50:26 GMT</pubDate></item><item><title><![CDATA[Reply to struct aus STL komponenten zurückgeben on Sat, 07 Feb 2009 18:52:25 GMT]]></title><description><![CDATA[<p>eghs.. habs ^^</p>
<pre><code class="language-cpp">Reader.ReadIniFile();
  vector &lt; Information &gt; * Inform = Reader.ReadIniFile();
</code></pre>
<p>stand in meinem programm ^^ da war klassenintern schon der positionszeiger des filestreams am eof ^^...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1659689</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1659689</guid><dc:creator><![CDATA[Schurke]]></dc:creator><pubDate>Sat, 07 Feb 2009 18:52:25 GMT</pubDate></item><item><title><![CDATA[Reply to struct aus STL komponenten zurückgeben on Sun, 08 Feb 2009 10:44:19 GMT]]></title><description><![CDATA[<p>Noch einige Anmerkungen zu deinem Code:</p>
<pre><code class="language-cpp">struct Pair{
  // explicit eigentlich nicht nötig, aber aus Konsistenzgründen okay
  // Klassentypen sollten nicht per Value, sondern per Const-Referenz übergeben werden!
  explicit Pair ( std::string, std::string );
  std::string Name;
  std::string DNS;
};

Pair::Pair ( std::string Name, std::string DNS ){
  // für diese Zuweisungen gäbe es die Initialisierungsliste.
  // Zudem rate ich dir, Parameter und Member nicht gleich zu benennen.
  this-&gt;Name = Name;
  this-&gt;DNS = DNS;
}
</code></pre>
<p>Also zum Beispiel so:</p>
<pre><code class="language-cpp">Pair::Pair(const std::string&amp; Name, const std::string&amp; DNS)
: MyName(Name)     // das ist die Initialisierungsliste
, MyDNS(DNS)       // Member haben jetzt z.B. ein My-Präfix
{
    // Konstruktorrumpf bleibt leer
}
</code></pre>
<p>Statt des My-Präfixes kannst du auch m_ oder irgendwas nehmen. Alternativ kannst du die Membernamen so belassen und bei den Parameter etwas verändern (z.B. <code>NewName, NewDNS</code> ).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1659859</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1659859</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 08 Feb 2009 10:44:19 GMT</pubDate></item></channel></rss>