<?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[Implementierungsdetails verbergen]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe eine Klasse, die Clients verwaltet. Sie hält also ein Array mit einer bestimmten Größe. Ich bin noch am Überlegen, ob ich das Array durch einen std::vector oder &quot;einfach so&quot; mit new[] erstelle.</p>
<p>In beiden Fällen habe ich jedenfalls ein Problem:</p>
<p>Wie iteriere ich am Besten über die Elemente? Gut, im Fall des std::vector könnte ich einen iterator zurückgeben. Das reicht aber leider nicht aus, oder? Ich muss auch den std::vector mit übergeben? Damit fällt diese Lösung für mich raus, da ich meine Implementierungsdetails offen lege.</p>
<p>Im Falle des &quot;normalen&quot; Arrays könnte ich mir eine Iterator-Klasse schreiben. Aber ist das so sinnvoll? Schließlich bietet std::vector ja alles was ich brauche. Nur die Sache mit dem iterator stört mich... Denn ohne den std::vector kann ich ja nicht richtig iterieren... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Wie wird sowas gelöst?</p>
<p>Vielen Dank,<br />
Markus K.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/247412/implementierungsdetails-verbergen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 13:52:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/247412.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 10 Aug 2009 16:56:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Implementierungsdetails verbergen on Mon, 10 Aug 2009 16:56:10 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe eine Klasse, die Clients verwaltet. Sie hält also ein Array mit einer bestimmten Größe. Ich bin noch am Überlegen, ob ich das Array durch einen std::vector oder &quot;einfach so&quot; mit new[] erstelle.</p>
<p>In beiden Fällen habe ich jedenfalls ein Problem:</p>
<p>Wie iteriere ich am Besten über die Elemente? Gut, im Fall des std::vector könnte ich einen iterator zurückgeben. Das reicht aber leider nicht aus, oder? Ich muss auch den std::vector mit übergeben? Damit fällt diese Lösung für mich raus, da ich meine Implementierungsdetails offen lege.</p>
<p>Im Falle des &quot;normalen&quot; Arrays könnte ich mir eine Iterator-Klasse schreiben. Aber ist das so sinnvoll? Schließlich bietet std::vector ja alles was ich brauche. Nur die Sache mit dem iterator stört mich... Denn ohne den std::vector kann ich ja nicht richtig iterieren... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Wie wird sowas gelöst?</p>
<p>Vielen Dank,<br />
Markus K.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1758433</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1758433</guid><dc:creator><![CDATA[Markus K.]]></dc:creator><pubDate>Mon, 10 Aug 2009 16:56:10 GMT</pubDate></item><item><title><![CDATA[Reply to Implementierungsdetails verbergen on Mon, 10 Aug 2009 17:03:31 GMT]]></title><description><![CDATA[<p>Wozu brauchst du den Vektor um über ihn zu iterieren? Gib einfach ein std::pair&lt;std::vector&lt;Foo&gt;::const_iterator, std::vector&lt;Foo&gt;::const_iterator&gt; zurück wobei du das Paar mit make_pair(foo_vec.begin(), foo_vec.end()); initialisierst, dann hat der Client alles was er braucht.</p>
<p>Ist Foo allerdings nicht ein öffentlich bekanntes Objekt, dann soll der Client deiner Klasse dir einen Funktionszeiger/Funktionsobjekt übergeben und du gehst über das Array und rufst den übergebenen Funktor für jedes Objekt im Vektor auf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1758438</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1758438</guid><dc:creator><![CDATA[Karl M.]]></dc:creator><pubDate>Mon, 10 Aug 2009 17:03:31 GMT</pubDate></item></channel></rss>