<?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[Arbeiten mit der STL]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich versuche im Moment besser mit der STL umzugehen in diesem Fall mit dem vector</p>
<p>Ich habe ein Struct und einen Vector</p>
<pre><code class="language-cpp">struct Power {
	unsigned time;
	unsigned int amount;
}

std::vector&lt;Power&gt; vPower;
</code></pre>
<p>Wie kann ich jetzt im &quot;C++ mit STL&quot;-Stil herausfinden welche vectoreinträge zwischen zwei Zeiten timeStart und timeEnd liegen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/307125/arbeiten-mit-der-stl</link><generator>RSS for Node</generator><lastBuildDate>Fri, 07 Aug 2026 18:05:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/307125.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 17 Aug 2012 10:55:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Arbeiten mit der STL on Fri, 17 Aug 2012 10:55:05 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich versuche im Moment besser mit der STL umzugehen in diesem Fall mit dem vector</p>
<p>Ich habe ein Struct und einen Vector</p>
<pre><code class="language-cpp">struct Power {
	unsigned time;
	unsigned int amount;
}

std::vector&lt;Power&gt; vPower;
</code></pre>
<p>Wie kann ich jetzt im &quot;C++ mit STL&quot;-Stil herausfinden welche vectoreinträge zwischen zwei Zeiten timeStart und timeEnd liegen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2242828</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242828</guid><dc:creator><![CDATA[EinUnreg]]></dc:creator><pubDate>Fri, 17 Aug 2012 10:55:05 GMT</pubDate></item><item><title><![CDATA[Reply to Arbeiten mit der STL on Fri, 17 Aug 2012 11:09:29 GMT]]></title><description><![CDATA[<p>Mit find_if:<br />
<a href="http://www.cplusplus.com/reference/algorithm/find_if/" rel="nofollow">http://www.cplusplus.com/reference/algorithm/find_if/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2242834</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242834</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 17 Aug 2012 11:09:29 GMT</pubDate></item><item><title><![CDATA[Reply to Arbeiten mit der STL on Fri, 17 Aug 2012 11:13:07 GMT]]></title><description><![CDATA[<p>Ergänzend: Wenn du die Einträge sortiert einfügst, kannst Du den Aufwand noch etwas reduzieren, indem Du erst über binäre Suche den ersten Eintrag mit time &gt; timeStart findest und dann einfach weiteriterierst. Bei recht wenigen Einträgen ist das aber vernachlässigbar.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2242837</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242837</guid><dc:creator><![CDATA[Eisflamme]]></dc:creator><pubDate>Fri, 17 Aug 2012 11:13:07 GMT</pubDate></item><item><title><![CDATA[Reply to Arbeiten mit der STL on Fri, 17 Aug 2012 11:17:36 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">std::for_each
(
        begin, end,
        [] (Power const&amp; p)
        {
                if(foo)
                        bar;
        }
);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2242840</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242840</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Fri, 17 Aug 2012 11:17:36 GMT</pubDate></item><item><title><![CDATA[Reply to Arbeiten mit der STL on Fri, 17 Aug 2012 12:00:16 GMT]]></title><description><![CDATA[<p>EinUnreg schrieb:</p>
<blockquote>
<p>Ich habe ein Struct und einen Vector</p>
<pre><code class="language-cpp">struct Power
{
	unsigned time;
	unsigned int amount;
};

std::vector&lt;Power&gt; vPower;
</code></pre>
<p>Wie kann ich jetzt im &quot;C++ mit STL&quot;-Stil herausfinden welche vectoreinträge zwischen zwei Zeiten timeStart und timeEnd liegen?</p>
</blockquote>
<p>Und dann? Was soll denn das Ergebnis sein? Ein neuer Vektor mit Indizes?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2242858</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242858</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Fri, 17 Aug 2012 12:00:16 GMT</pubDate></item><item><title><![CDATA[Reply to Arbeiten mit der STL on Fri, 17 Aug 2012 12:15:07 GMT]]></title><description><![CDATA[<p>krümelkacker schrieb:</p>
<blockquote>
<p>EinUnreg schrieb:</p>
<blockquote>
<p>Ich habe ein Struct und einen Vector</p>
<pre><code class="language-cpp">struct Power
{
	unsigned time;
	unsigned int amount;
};

std::vector&lt;Power&gt; vPower;
</code></pre>
<p>Wie kann ich jetzt im &quot;C++ mit STL&quot;-Stil herausfinden welche vectoreinträge zwischen zwei Zeiten timeStart und timeEnd liegen?</p>
</blockquote>
<p>Und dann? Was soll denn das Ergebnis sein? Ein neuer Vektor mit Indizes?</p>
</blockquote>
<p>Schaetze mal genau diese &quot;Power&quot; Objekte die zwischen den Zeitspannen liegen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2242861</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242861</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Fri, 17 Aug 2012 12:15:07 GMT</pubDate></item><item><title><![CDATA[Reply to Arbeiten mit der STL on Fri, 17 Aug 2012 14:12:52 GMT]]></title><description><![CDATA[<p>Glaube er will das hier haben:</p>
<pre><code class="language-cpp">std::vector&lt;Power&gt; vPower;
std::vector&lt;Power&gt; results;

std::copy_if
(
        std::begin(vPower)
        , std::end(vPower)
        , std::back_inserter_iterator&lt;std::vector&lt;Power&gt;&gt;(results),
        [] (Power const&amp; p)
        {
                if(foo)
                        bar;
        }
);
</code></pre>
<p>EDIT: Auf copy_if umgestellt, geht aber nur mit dem neuen Standard. Aber du kannst dir auch fix dein eigenen copy_if Algo schreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2242869</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242869</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Fri, 17 Aug 2012 14:12:52 GMT</pubDate></item><item><title><![CDATA[Reply to Arbeiten mit der STL on Fri, 17 Aug 2012 21:45:31 GMT]]></title><description><![CDATA[<p>Danke für die Beiträge. Ja, ich wollte die Einträge in einem neuem Vector haben. Ich finde die STL ist gewöhnungsbedürftig, vieleicht liegt's auch nur daran, dass alles so neu ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2242991</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242991</guid><dc:creator><![CDATA[EinUnreg]]></dc:creator><pubDate>Fri, 17 Aug 2012 21:45:31 GMT</pubDate></item><item><title><![CDATA[Reply to Arbeiten mit der STL on Fri, 17 Aug 2012 21:51:33 GMT]]></title><description><![CDATA[<p>Nimm std::back_inserter, so sparst du dir das Template-Argument.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2242994</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242994</guid><dc:creator><![CDATA[Der Weise]]></dc:creator><pubDate>Fri, 17 Aug 2012 21:51:33 GMT</pubDate></item><item><title><![CDATA[Reply to Arbeiten mit der STL on Sat, 18 Aug 2012 08:17:56 GMT]]></title><description><![CDATA[<p>EinUnreg schrieb:</p>
<blockquote>
<p>Danke für die Beiträge. Ja, ich wollte die Einträge in einem neuem Vector haben.</p>
</blockquote>
<p>Dann copy_if (ist zwar genau genommen C++11, können aber viele ältere Compiler auch. Außerdem sollte man C++11 so langsam voraussetzen dürfen). Lies dir am besten mal eine Übersicht über die ganzen Algorithms durch, es gibt so viele:<br />
<a href="http://en.cppreference.com/w/cpp/algorithm" rel="nofollow">http://en.cppreference.com/w/cpp/algorithm</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2243038</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2243038</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sat, 18 Aug 2012 08:17:56 GMT</pubDate></item><item><title><![CDATA[Reply to Arbeiten mit der STL on Sat, 18 Aug 2012 08:23:11 GMT]]></title><description><![CDATA[<p>Gibt es eigentlich Pläne in einem zukünftigen C++-Standard auch eine Art LINQ wie in C# einzubauen?</p>
<pre><code class="language-csharp">var results = from vPower p
              where p.time &gt;= timeStart
              and p.time &lt;= timeEnd
              select p;
</code></pre>
<p>Finde ich persönlich wesentlich schöner.</p>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2243040</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2243040</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Sat, 18 Aug 2012 08:23:11 GMT</pubDate></item><item><title><![CDATA[Reply to Arbeiten mit der STL on Sat, 18 Aug 2012 11:01:24 GMT]]></title><description><![CDATA[<p>SideWinder schrieb:</p>
<blockquote>
<p>Gibt es eigentlich Pläne in einem zukünftigen C++-Standard auch eine Art LINQ wie in C# einzubauen?</p>
<pre><code class="language-csharp">var results = from vPower p
              where p.time &gt;= timeStart
              and p.time &lt;= timeEnd
              select p;
</code></pre>
<p>Finde ich persönlich wesentlich schöner.</p>
<p>MfG SideWinder</p>
</blockquote>
<p>Ich bin mir nicht sicher ob es in all zu kurzer Zeit einen neuen Standard geben wird <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="😃"
    /> Mal davon abgesehen das es schoener ist <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/2243069</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2243069</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Sat, 18 Aug 2012 11:01:24 GMT</pubDate></item><item><title><![CDATA[Reply to Arbeiten mit der STL on Sat, 18 Aug 2012 13:07:55 GMT]]></title><description><![CDATA[<p>Mit C++2X könnte das so aussehen:</p>
<pre><code class="language-cpp">auto results = std::make_filter_range(
  [](Power const&amp; p){ return p.time &gt;= timeStart &amp;&amp; p.time &lt;= timeEnd; },
  vPower);
</code></pre>
<p>Stroustrup wollte ja so etwas wie Ranges unterstützen. Ein Sprachfeature wie LINQ würde nur die Sprache überladen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2243099</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2243099</guid><dc:creator><![CDATA[linus q]]></dc:creator><pubDate>Sat, 18 Aug 2012 13:07:55 GMT</pubDate></item></channel></rss>