<?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[Iterator anbieten]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich schreibe momentan an einer API und möchte gern einen Iterator nach außen anbieten ohne denn klasseninternen Vector public zu machen. Wie macht man sowas? Momentan biete ich ein getVektorBegin() und getVektorEnd() an?</p>
<p>Geht das auch schöner?</p>
<p>Vielen Dank für die Hilfe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/316158/iterator-anbieten</link><generator>RSS for Node</generator><lastBuildDate>Thu, 30 Jul 2026 08:23:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/316158.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 23 Apr 2013 16:23:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Iterator anbieten on Tue, 23 Apr 2013 16:23:37 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich schreibe momentan an einer API und möchte gern einen Iterator nach außen anbieten ohne denn klasseninternen Vector public zu machen. Wie macht man sowas? Momentan biete ich ein getVektorBegin() und getVektorEnd() an?</p>
<p>Geht das auch schöner?</p>
<p>Vielen Dank für die Hilfe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2317817</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2317817</guid><dc:creator><![CDATA[HackerNeo]]></dc:creator><pubDate>Tue, 23 Apr 2013 16:23:37 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator anbieten on Tue, 23 Apr 2013 16:27:17 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">typedef ... const_iterator;
const_iterator begin() const;
const_iterator end() const;
</code></pre>
<p>?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2317820</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2317820</guid><dc:creator><![CDATA[GetAnswerBegin()]]></dc:creator><pubDate>Tue, 23 Apr 2013 16:27:17 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator anbieten on Tue, 23 Apr 2013 16:49:08 GMT]]></title><description><![CDATA[<p>Geht das auch etwas genauer? Mit typedefs hab ich noch nicht oft gearbeitet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2317825</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2317825</guid><dc:creator><![CDATA[HackerNeo]]></dc:creator><pubDate>Tue, 23 Apr 2013 16:49:08 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator anbieten on Tue, 23 Apr 2013 16:51:26 GMT]]></title><description><![CDATA[<pre><code>typedef std::vector&lt;X&gt;::const_iterator const_iterator;
</code></pre>
<p>Und jetzt frag nicht, was <code>X</code> ist :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2317827</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2317827</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 23 Apr 2013 16:51:26 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator anbieten on Tue, 23 Apr 2013 17:06:38 GMT]]></title><description><![CDATA[<p>Haha ne das bekomme ich noch hin <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>
<p>Danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2317831</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2317831</guid><dc:creator><![CDATA[HackerNeo]]></dc:creator><pubDate>Tue, 23 Apr 2013 17:06:38 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator anbieten on Tue, 23 Apr 2013 17:13:45 GMT]]></title><description><![CDATA[<p>Aber sagen wir mal, ich habe</p>
<pre><code>class Foo {

private:
    vector&lt;int&gt; bars;
}
</code></pre>
<p>Und ich möchte jetzt einen Iterator für diesen vector anbieten. Wo definiere ich denn, dass es der Iterator von bars ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2317833</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2317833</guid><dc:creator><![CDATA[HackerNeo]]></dc:creator><pubDate>Tue, 23 Apr 2013 17:13:45 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator anbieten on Tue, 23 Apr 2013 17:16:37 GMT]]></title><description><![CDATA[<p>HackerNeo schrieb:</p>
<blockquote>
<p>Und ich möchte jetzt einen Iterator für diesen vector anbieten. Wo definiere ich denn, dass es der Iterator von bars ist?</p>
</blockquote>
<p>Da wo du den Iterator rausgibst, gibst du einen Iterator von bars raus. Also zum Beispiel:</p>
<pre><code>class Foo {
private:
    vector&lt;int&gt; bars;
public:
    vector&lt;int&gt;::iterator begin() { return bars.begin(); }
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2317836</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2317836</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 23 Apr 2013 17:16:37 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator anbieten on Tue, 23 Apr 2013 17:16:51 GMT]]></title><description><![CDATA[<pre><code>Foo::const_iterator Foo::begin() const
{
    return bars.cbegin();
}

Foo::const_iterator Foo::end() const
{
    return bars.cend();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2317838</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2317838</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Tue, 23 Apr 2013 17:16:51 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator anbieten on Tue, 23 Apr 2013 17:21:14 GMT]]></title><description><![CDATA[<p>Nathan: Wirklich nötig, ihn jetzt noch mit <code>cbegin</code> zu verwirren <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2317839</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2317839</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 23 Apr 2013 17:21:14 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator anbieten on Tue, 23 Apr 2013 17:22:14 GMT]]></title><description><![CDATA[<p>Was denn?<br />
Ich hielt mich nur an:</p>
<p>GetAnswerBegin() schrieb:</p>
<blockquote>
<pre><code class="language-cpp">typedef ... const_iterator;
const_iterator begin() const;
const_iterator end() const;
</code></pre>
<p>?</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2317841</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2317841</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Tue, 23 Apr 2013 17:22:14 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator anbieten on Tue, 23 Apr 2013 17:31:36 GMT]]></title><description><![CDATA[<p>Haha das hab ich wohl verstanden <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/2317843</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2317843</guid><dc:creator><![CDATA[HackerNeo]]></dc:creator><pubDate>Tue, 23 Apr 2013 17:31:36 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator anbieten on Tue, 23 Apr 2013 17:38:14 GMT]]></title><description><![CDATA[<p>Nathan schrieb:</p>
<blockquote>
<p>Was denn?</p>
</blockquote>
<p>Hier ist doch für den Compiler aus dem const-Kontext her klar, dass die const-Version von begin und end gemeint ist.<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /></p>
<pre><code>Foo::const_iterator Foo::begin() const
{
    return bars.begin();
}
</code></pre>
<p>Identisch zu deinem Vorschlag.</p>
<p>Das cbegin/cend brauchst du vor allem im Zusammenhang mit type inference.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2317846</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2317846</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 23 Apr 2013 17:38:14 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator anbieten on Tue, 23 Apr 2013 18:02:51 GMT]]></title><description><![CDATA[<p>Ich nutze immer die c-Version, wenn ich einen const will.<br />
Finde ich ist übersichtlicher, falls sich doch mal der Kontext ändert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2317856</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2317856</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Tue, 23 Apr 2013 18:02:51 GMT</pubDate></item></channel></rss>