<?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::bind zu member pointer to data (member variable)]]></title><description><![CDATA[<p>Also anscheinend kann ich boost::bind dazu benutzen um auch zu einen member daten pointer zu &quot;binden&quot;</p>
<pre><code class="language-cpp">struct Foo
{
double member;
};

Foo foo;
boost::function&lt;double(Foo&amp;)&gt; func = boost::bind(&amp;Foo::member, _1);
std::cout &lt;&lt; func(foo);
</code></pre>
<p>aber ich möchte jetzt nicht nur den Wert lesen, sondern auch setzen?<br />
Geht das nicht mit boost::bind?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/307338/boost-bind-zu-member-pointer-to-data-member-variable</link><generator>RSS for Node</generator><lastBuildDate>Thu, 06 Aug 2026 19:01:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/307338.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 23 Aug 2012 21:16:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to boost::bind zu member pointer to data (member variable) on Thu, 23 Aug 2012 21:17:48 GMT]]></title><description><![CDATA[<p>Also anscheinend kann ich boost::bind dazu benutzen um auch zu einen member daten pointer zu &quot;binden&quot;</p>
<pre><code class="language-cpp">struct Foo
{
double member;
};

Foo foo;
boost::function&lt;double(Foo&amp;)&gt; func = boost::bind(&amp;Foo::member, _1);
std::cout &lt;&lt; func(foo);
</code></pre>
<p>aber ich möchte jetzt nicht nur den Wert lesen, sondern auch setzen?<br />
Geht das nicht mit boost::bind?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2244921</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2244921</guid><dc:creator><![CDATA[Nash26]]></dc:creator><pubDate>Thu, 23 Aug 2012 21:17:48 GMT</pubDate></item><item><title><![CDATA[Reply to boost::bind zu member pointer to data (member variable) on Fri, 24 Aug 2012 04:46:52 GMT]]></title><description><![CDATA[<p>EDIT:<br />
War quatsch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2245004</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245004</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 24 Aug 2012 04:46:52 GMT</pubDate></item><item><title><![CDATA[Reply to boost::bind zu member pointer to data (member variable) on Fri, 24 Aug 2012 05:31:09 GMT]]></title><description><![CDATA[<p>// edit: <strong>bitte ignorieren!</strong></p>
<p>bei boost::bind musst du bei zugriffen auf Methoden stets als 2. Argument das Objekt übergeben, auf dem die Methode aufgerufen werden soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2245011</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245011</guid><dc:creator><![CDATA[Cyres]]></dc:creator><pubDate>Fri, 24 Aug 2012 05:31:09 GMT</pubDate></item><item><title><![CDATA[Reply to boost::bind zu member pointer to data (member variable) on Fri, 24 Aug 2012 05:29:39 GMT]]></title><description><![CDATA[<p>Cyres schrieb:</p>
<blockquote>
<p>bei boost::bind musst du bei zugriffen auf Methoden stets als 2. Argument das Objekt übergeben, auf dem die Methode aufgerufen werden soll.</p>
</blockquote>
<p>Tut er doch. func(foo) -&gt; foo.member. Ist übrigens das erste Argument.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2245014</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245014</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 24 Aug 2012 05:29:39 GMT</pubDate></item><item><title><![CDATA[Reply to boost::bind zu member pointer to data (member variable) on Fri, 24 Aug 2012 05:30:48 GMT]]></title><description><![CDATA[<p>LordJaxom schrieb:</p>
<blockquote>
<p>Cyres schrieb:</p>
<blockquote>
<p>bei boost::bind musst du bei zugriffen auf Methoden stets als 2. Argument das Objekt übergeben, auf dem die Methode aufgerufen werden soll.</p>
</blockquote>
<p>Tut er doch. func(foo) -&gt; foo.member. Ist übrigens das erste Argument.</p>
</blockquote>
<p>Oh, stimmt, dann ignoriert bitte einfach mein Post (ist noch früh <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="😃"
    /> )</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2245015</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245015</guid><dc:creator><![CDATA[Cyres]]></dc:creator><pubDate>Fri, 24 Aug 2012 05:30:48 GMT</pubDate></item><item><title><![CDATA[Reply to boost::bind zu member pointer to data (member variable) on Fri, 24 Aug 2012 12:06:06 GMT]]></title><description><![CDATA[<p>Nash26 schrieb:</p>
<blockquote>
<p>Also anscheinend kann ich boost::bind dazu benutzen um auch zu einen member daten pointer zu &quot;binden&quot;</p>
<pre><code class="language-cpp">struct Foo
{
double member;
};

Foo foo;
boost::function&lt;double(Foo&amp;)&gt; func = boost::bind(&amp;Foo::member, _1);
std::cout &lt;&lt; func(foo);
</code></pre>
<p>aber ich möchte jetzt nicht nur den Wert lesen, sondern auch setzen?<br />
Geht das nicht mit boost::bind?</p>
</blockquote>
<p>Wozu brauchst du das? Wenn du Getter/Setter verwendest, kannst du die dann ganz einfach binden; Vielleicht geht was du willst ja auch. Aber ob das so eine geniale Idee ist, wage ich zu bezweifeln.</p>
<p>Du kannst auch ein Lambda benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2245020</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245020</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Fri, 24 Aug 2012 12:06:06 GMT</pubDate></item><item><title><![CDATA[Reply to boost::bind zu member pointer to data (member variable) on Fri, 24 Aug 2012 11:33:19 GMT]]></title><description><![CDATA[<p>IMHO: Kapselung ist ne tolle Sache ... aber nicht immer sinnvoll. Manchmal reicht auch einfach eine &quot;struct-Datensammlung&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2245157</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245157</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Fri, 24 Aug 2012 11:33:19 GMT</pubDate></item><item><title><![CDATA[Reply to boost::bind zu member pointer to data (member variable) on Fri, 24 Aug 2012 11:36:07 GMT]]></title><description><![CDATA[<blockquote>
<p>Datenkapselung zu verwenden, dann schreib Getter/Setter.</p>
</blockquote>
<p>Getter/Setter sind haesslich und haben kaum was mit Kapselung zu tun.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2245159</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245159</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Fri, 24 Aug 2012 11:36:07 GMT</pubDate></item><item><title><![CDATA[Reply to boost::bind zu member pointer to data (member variable) on Fri, 24 Aug 2012 12:05:16 GMT]]></title><description><![CDATA[<p>Gut, dann eben eine Datenstruktur. Aber wofür <strong>braucht</strong> er das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2245169</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245169</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Fri, 24 Aug 2012 12:05:16 GMT</pubDate></item><item><title><![CDATA[Reply to boost::bind zu member pointer to data (member variable) on Fri, 24 Aug 2012 13:45:04 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">boost::function&lt;double&amp;(Foo&amp;)&gt; func = std::mem_fn(&amp;Foo::member);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2245210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245210</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Fri, 24 Aug 2012 13:45:04 GMT</pubDate></item><item><title><![CDATA[Reply to boost::bind zu member pointer to data (member variable) on Fri, 24 Aug 2012 17:12:19 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<pre><code class="language-cpp">boost::function&lt;double&amp;(Foo&amp;)&gt; func = std::mem_fn(&amp;Foo::member);
</code></pre>
</blockquote>
<p>yeah, here we go.<br />
Das ist genau das was ich haben wollte.<br />
Aber warum geht das nur mit std::mem_fn?<br />
Kenne ich gar nicht diese Klasse/methode.</p>
<p>Das heißt std::mem:fn liefert auch nur so ein passendes Konstrukt für<br />
&lt;double&amp;(Foo&amp;)&gt; zurück?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2245257</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245257</guid><dc:creator><![CDATA[Nash26]]></dc:creator><pubDate>Fri, 24 Aug 2012 17:12:19 GMT</pubDate></item></channel></rss>