<?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[boost::function und boost::bind]]></title><description><![CDATA[<p>Hi!</p>
<p>Folgendes:</p>
<pre><code class="language-cpp">void f(const std::vector&lt;int&gt;&amp; v);

boost::function&lt;void()&gt; getF()
{
  std::vector&lt;int&gt; i;
  // i füllen
  return boost::bind(f, i);
}

void f(const std::vector&lt;int&gt;&amp; v)
{
  // kann ich hier v ohne weiteres benutzen?
}

int main()
{
  boost::function&lt;void()&gt; bf = getF();

  bf();
}
</code></pre>
<p>in getF() binde ich ein stack-Objekt an eine Funktion. Danach wird die Funktion verlassen, das Objekt also zerstört.<br />
Kann ich nun v in f benutzen oder ist das undefiniert? Es könnte ja sein, dass im Funktionsobjekt eine Kopie von v abgelegt wurde.<br />
Es klappt, aber ich bin mir nicht sicher, ob das immer klappt.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/273566/boost-function-und-boost-bind</link><generator>RSS for Node</generator><lastBuildDate>Fri, 28 Aug 2026 02:00:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/273566.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 09 Sep 2010 09:38:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to boost::function und boost::bind on Thu, 09 Sep 2010 09:38:50 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Folgendes:</p>
<pre><code class="language-cpp">void f(const std::vector&lt;int&gt;&amp; v);

boost::function&lt;void()&gt; getF()
{
  std::vector&lt;int&gt; i;
  // i füllen
  return boost::bind(f, i);
}

void f(const std::vector&lt;int&gt;&amp; v)
{
  // kann ich hier v ohne weiteres benutzen?
}

int main()
{
  boost::function&lt;void()&gt; bf = getF();

  bf();
}
</code></pre>
<p>in getF() binde ich ein stack-Objekt an eine Funktion. Danach wird die Funktion verlassen, das Objekt also zerstört.<br />
Kann ich nun v in f benutzen oder ist das undefiniert? Es könnte ja sein, dass im Funktionsobjekt eine Kopie von v abgelegt wurde.<br />
Es klappt, aber ich bin mir nicht sicher, ob das immer klappt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1950127</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1950127</guid><dc:creator><![CDATA[Maxi]]></dc:creator><pubDate>Thu, 09 Sep 2010 09:38:50 GMT</pubDate></item><item><title><![CDATA[Reply to boost::function und boost::bind on Thu, 09 Sep 2010 09:46:36 GMT]]></title><description><![CDATA[<p>Ja, kannste Benutzen. Bind macht eine Kopie.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1950129</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1950129</guid><dc:creator><![CDATA[BadWolf]]></dc:creator><pubDate>Thu, 09 Sep 2010 09:46:36 GMT</pubDate></item></channel></rss>