<?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[R-value referenzen und STL]]></title><description><![CDATA[<p>eine frage die mir gerade eingefallen ist:</p>
<p>R-value referenzen bringen einen perfomance-vorteil. werden die Compilerhersteller die STL jetzt mit R-value referenzen designen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/271368/r-value-referenzen-und-stl</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 12:58:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/271368.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 27 Jul 2010 10:42:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to R-value referenzen und STL on Tue, 27 Jul 2010 10:42:37 GMT]]></title><description><![CDATA[<p>eine frage die mir gerade eingefallen ist:</p>
<p>R-value referenzen bringen einen perfomance-vorteil. werden die Compilerhersteller die STL jetzt mit R-value referenzen designen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1932489</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1932489</guid><dc:creator><![CDATA[oiiiooio]]></dc:creator><pubDate>Tue, 27 Jul 2010 10:42:37 GMT</pubDate></item><item><title><![CDATA[Reply to R-value referenzen und STL on Tue, 27 Jul 2010 10:55:02 GMT]]></title><description><![CDATA[<p>oiiiooio schrieb:</p>
<blockquote>
<p>eine frage die mir gerade eingefallen ist:</p>
<p>R-value referenzen bringen einen perfomance-vorteil. werden die Compilerhersteller die STL jetzt mit R-value referenzen designen?</p>
</blockquote>
<p>Da die Implementierung der STL nicht vorgegeben ist und sich sowas immer gut macht um damit anzugeben: Wahrscheinlich ja.</p>
<p>Erwarte aber keine Performance-Wunder durch R-value Referenzen. Vermutlich wirst du niemals etwas davon merken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1932499</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1932499</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 27 Jul 2010 10:55:02 GMT</pubDate></item><item><title><![CDATA[Reply to R-value referenzen und STL on Tue, 27 Jul 2010 11:55:22 GMT]]></title><description><![CDATA[<p>oiiiooio schrieb:</p>
<blockquote>
<p>werden die Compilerhersteller die STL jetzt mit R-value referenzen designen?</p>
</blockquote>
<p>&quot;designen&quot; ist vielleicht übertrieben. Erweitern, ja. Sie sollten es. Es steht ja so im kommenden Standard. Beispiel:</p>
<pre><code class="language-cpp">template &lt;class T&gt;
class vector {
  ...
  vector(vector const&amp;); // copy ctor
  vector(vector &amp;&amp;);     // move ctor
  ...
  void push_back(T const&amp;);
  void push_back(T &amp;&amp;);
  ...
  template&lt;class Args&gt;
  void emplace_back(Args&amp;&amp;...args);
};
</code></pre>
<p>Neben copy/move Konstruktoren bietet vector ein überladenes push_back und emplace_* Funktionen, die die Objekte direkt im Container durch Weiterleitung der Konstruktor-Argumente erzeugen, statt ein bestehendes Objekt kopieren.</p>
<p>Und die Container werden auch Typen verarbeiten können, die nicht kopierbar, dafür aber &quot;move-bar&quot; sind, wie zB unique_ptr&lt;int&gt;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1932542</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1932542</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Tue, 27 Jul 2010 11:55:22 GMT</pubDate></item><item><title><![CDATA[Reply to R-value referenzen und STL on Tue, 27 Jul 2010 17:29:17 GMT]]></title><description><![CDATA[<p>Um beim Beispiel des Vektors zu bleiben: Der will sich ja ggf vergrößern und muss Elemente dabei umkopieren. Bietet jetzt der Elementtyp einen nothrow-Move-Konstruktor an, müssen die Elemente beim Vergrößern des Vektors nicht mehr kopiert werden. Sie &quot;ziehen einfach um&quot; aus einen Puffer in den neuen größeren.</p>
<p>Aber nicht nur bei Containern und Strings werden Rvalue-Referenzen eingesetzt. Du wirst sie zB auch bei den Funktions-Objekten (Header &lt;functional&gt;) und beim variadischen std::thread Konstruktor (Header &lt;thread&gt;) finden. Dort geht es um das Weiterleiten von Parametern an andere Funktionen. Dafür ist &amp;&amp; auch zu gebrauchen.</p>
<p>kk</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1932700</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1932700</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Tue, 27 Jul 2010 17:29:17 GMT</pubDate></item></channel></rss>