<?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[RVO und Critical Sections]]></title><description><![CDATA[<p>Hallo,</p>
<p>darf der Compiler in der 2. Methode etwas kaputtoptimieren, oder ist sichergestellt, dass zuerst eine Kopie des Vektors erzeugt wird, bevor Lock den scope verlässt?</p>
<pre><code class="language-cpp">// sichere Kopie
std::vector&lt;int&gt; SomeClass::get_data() const
{
   std::vector&lt;int&gt; Copy;
   {
      Lock lock( CriticalSection_ );
      Copy = Data_;
   }
   return Copy_;
}

// auch sicher?
std::vector&lt;int&gt; SomeClass::get_data() const
{
   Lock lock( CriticalSection_ );
   return Data_;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/278395/rvo-und-critical-sections</link><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Aug 2026 09:24:13 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/278395.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 06 Dec 2010 09:07:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to RVO und Critical Sections on Mon, 06 Dec 2010 09:07:36 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>darf der Compiler in der 2. Methode etwas kaputtoptimieren, oder ist sichergestellt, dass zuerst eine Kopie des Vektors erzeugt wird, bevor Lock den scope verlässt?</p>
<pre><code class="language-cpp">// sichere Kopie
std::vector&lt;int&gt; SomeClass::get_data() const
{
   std::vector&lt;int&gt; Copy;
   {
      Lock lock( CriticalSection_ );
      Copy = Data_;
   }
   return Copy_;
}

// auch sicher?
std::vector&lt;int&gt; SomeClass::get_data() const
{
   Lock lock( CriticalSection_ );
   return Data_;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1990297</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1990297</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Mon, 06 Dec 2010 09:07:36 GMT</pubDate></item><item><title><![CDATA[Reply to RVO und Critical Sections on Mon, 06 Dec 2010 09:23:58 GMT]]></title><description><![CDATA[<p>Der Scope ist erst nach dem return beendet. <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/1990304</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1990304</guid><dc:creator><![CDATA[Ethon]]></dc:creator><pubDate>Mon, 06 Dec 2010 09:23:58 GMT</pubDate></item><item><title><![CDATA[Reply to RVO und Critical Sections on Mon, 06 Dec 2010 09:37:12 GMT]]></title><description><![CDATA[<p>Ethon schrieb:</p>
<blockquote>
<p>Der Scope ist erst nach dem return beendet. <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>
</blockquote>
<p>Danke, das wollte ich hören <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/1990310</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1990310</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Mon, 06 Dec 2010 09:37:12 GMT</pubDate></item></channel></rss>