<?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[Frage zu find()]]></title><description><![CDATA[<p>Hi,<br />
ich hab mal eine Frage zur find() Funktion. Wenn ich mit dieser Funktion etwas gefunden hab, kann ich dann auch rausbekommen, an welcher Position im Container sich das Object befindet?</p>
<p>Hier mal ein Beispiel:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;algorithm&gt;

using namespace std;

int main()
{
    //ein vector mit 10 elementen
    vector&lt;int&gt; iVec(10);

    //den vector füllen
    for(size_t i = 0; i &lt; iVec.size(); i++)
    {
        iVec[i] = i;
    }

    int iEingabe = 0;
    cout &lt;&lt; &quot;Vector gefuellt, welche zahl (0-9) soll gesucht werden? &quot;;
    cin &gt;&gt; iEingabe;

    //find algorithmus
    vector&lt;int&gt;::iterator vIter = find(iVec.begin(), iVec.end(), iEingabe);
    if(vIter != iVec.end()) //bei erfolgloser zeigt vIter auf end()
        cout &lt;&lt; &quot;zahl &quot; &lt;&lt; *vIter &lt;&lt; &quot; gefunden&quot; &lt;&lt; endl;
    else
        cout &lt;&lt; &quot;Diese zahl ist nicht vorhanden&quot; &lt;&lt; endl;

    return 0;
}
</code></pre>
<p>Angenommen ich suche nach der Zahl 5, krieg ich über den Iterator auch raus, in welchem Index sich die zahl 5 im Vector befindet?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/293583/frage-zu-find</link><generator>RSS for Node</generator><lastBuildDate>Sun, 16 Aug 2026 07:24:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/293583.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 06 Oct 2011 12:31:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu find() on Thu, 06 Oct 2011 12:31:35 GMT]]></title><description><![CDATA[<p>Hi,<br />
ich hab mal eine Frage zur find() Funktion. Wenn ich mit dieser Funktion etwas gefunden hab, kann ich dann auch rausbekommen, an welcher Position im Container sich das Object befindet?</p>
<p>Hier mal ein Beispiel:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;algorithm&gt;

using namespace std;

int main()
{
    //ein vector mit 10 elementen
    vector&lt;int&gt; iVec(10);

    //den vector füllen
    for(size_t i = 0; i &lt; iVec.size(); i++)
    {
        iVec[i] = i;
    }

    int iEingabe = 0;
    cout &lt;&lt; &quot;Vector gefuellt, welche zahl (0-9) soll gesucht werden? &quot;;
    cin &gt;&gt; iEingabe;

    //find algorithmus
    vector&lt;int&gt;::iterator vIter = find(iVec.begin(), iVec.end(), iEingabe);
    if(vIter != iVec.end()) //bei erfolgloser zeigt vIter auf end()
        cout &lt;&lt; &quot;zahl &quot; &lt;&lt; *vIter &lt;&lt; &quot; gefunden&quot; &lt;&lt; endl;
    else
        cout &lt;&lt; &quot;Diese zahl ist nicht vorhanden&quot; &lt;&lt; endl;

    return 0;
}
</code></pre>
<p>Angenommen ich suche nach der Zahl 5, krieg ich über den Iterator auch raus, in welchem Index sich die zahl 5 im Vector befindet?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2128024</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2128024</guid><dc:creator><![CDATA[seux]]></dc:creator><pubDate>Thu, 06 Oct 2011 12:31:35 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu find() on Thu, 06 Oct 2011 12:38:00 GMT]]></title><description><![CDATA[<p>Dafür gibt es die Funktion std::distance, die die Distanz zwischen zwei Iteratoren ermittelt.</p>
<pre><code class="language-cpp">int index = std::distance(iVec.begin(), vIter);
</code></pre>
<p>Für Random-Access-Iteratoren wie den von std::vector ist das intern eine einfache Subtraktion und damit O(1). (vIter - iVec.begin()) würde hier auch funktionieren. Da das aber nicht für alle Container gilt, ist std::distance universeller.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2128026</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2128026</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 06 Oct 2011 12:38:00 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu find() on Thu, 06 Oct 2011 13:12:41 GMT]]></title><description><![CDATA[<p>Vielen dank für die antwort <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/2128052</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2128052</guid><dc:creator><![CDATA[seux]]></dc:creator><pubDate>Thu, 06 Oct 2011 13:12:41 GMT</pubDate></item></channel></rss>