<?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[eventfunktion mit lamda oder aehnlich erstellen]]></title><description><![CDATA[<p>hola leute</p>
<p>kenn mich mit den lamdas und so noch nicht wirklich aus. hab nur basic wissen.<br />
folgendes will ich machen:<br />
habe ein class test</p>
<pre><code>class test
{
   public:
      test(Parent &amp;p) : parent(p) { }
      void ereignis(int e)
      {
         if(e == 1)
            mach_was(parent);
      }

      dyn_func mach_was(PARENT &amp;p);

   private:
      Parent &amp;parent;
};
</code></pre>
<p>jetzt will ich mach_was im konstructor oder sonst wo der parent klasse code zuteilen was er mnachen soll wenn ein bestimmtes ereignis auftritt.<br />
normalerweise mach ich das mit einer base-klasse von der ich dann ableite und dann den code reinschreibe. geht das irgendwie mit lamdas ? oder geht das anders besser ? ich hab da keinen plan wie ich das machen soll.<br />
das erstellen von neuen eventklassen ist einfach nur laesstig und zeitraubend.</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/330879/eventfunktion-mit-lamda-oder-aehnlich-erstellen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 02 Jul 2026 18:23:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/330879.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 30 Jan 2015 14:43:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to eventfunktion mit lamda oder aehnlich erstellen on Fri, 30 Jan 2015 14:43:40 GMT]]></title><description><![CDATA[<p>hola leute</p>
<p>kenn mich mit den lamdas und so noch nicht wirklich aus. hab nur basic wissen.<br />
folgendes will ich machen:<br />
habe ein class test</p>
<pre><code>class test
{
   public:
      test(Parent &amp;p) : parent(p) { }
      void ereignis(int e)
      {
         if(e == 1)
            mach_was(parent);
      }

      dyn_func mach_was(PARENT &amp;p);

   private:
      Parent &amp;parent;
};
</code></pre>
<p>jetzt will ich mach_was im konstructor oder sonst wo der parent klasse code zuteilen was er mnachen soll wenn ein bestimmtes ereignis auftritt.<br />
normalerweise mach ich das mit einer base-klasse von der ich dann ableite und dann den code reinschreibe. geht das irgendwie mit lamdas ? oder geht das anders besser ? ich hab da keinen plan wie ich das machen soll.<br />
das erstellen von neuen eventklassen ist einfach nur laesstig und zeitraubend.</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2440494</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440494</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Fri, 30 Jan 2015 14:43:40 GMT</pubDate></item><item><title><![CDATA[Reply to eventfunktion mit lamda oder aehnlich erstellen on Fri, 30 Jan 2015 15:08:01 GMT]]></title><description><![CDATA[<p>Sofern ich dich richtig verstanden habe:</p>
<pre><code>class test
{
   public:
      test(Parent &amp;p, function&lt;void(Parent&amp; p)&gt; f) : parent{p}, machwas{f} { }
      void ereignis(int e)
      {
         if(e == 1)
            mach_was(parent);
      }
   private:
      Parent &amp;parent;
      function&lt;void(Parent&amp; p)&gt; mach_was;
};
...
test t(p, [](Parent&amp; p) {cout &lt;&lt; &quot;Macht jetzt was mit p: &quot; &lt;&lt; p.tolleFkt();})
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2440501</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440501</guid><dc:creator><![CDATA[Jockelx]]></dc:creator><pubDate>Fri, 30 Jan 2015 15:08:01 GMT</pubDate></item><item><title><![CDATA[Reply to eventfunktion mit lamda oder aehnlich erstellen on Fri, 30 Jan 2015 15:14:32 GMT]]></title><description><![CDATA[<p>hola</p>
<p>ja ich denke das dies das ist was ich suche. werde ich dann gleich mal austesten.<br />
kann ich die lamda funktion auch ausserhalb des konstruktors mach_was zuweisen ? oder geht das nur mit dem konstruktor?</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2440505</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440505</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Fri, 30 Jan 2015 15:14:32 GMT</pubDate></item><item><title><![CDATA[Reply to eventfunktion mit lamda oder aehnlich erstellen on Fri, 30 Jan 2015 15:19:44 GMT]]></title><description><![CDATA[<p>Klar, ganz normal</p>
<pre><code>class test
{
...
    public:
      test(Parent &amp;p)...
      function&lt;void(Parent&amp; p)&gt; mach_was;
};
...
auto f = [](Parent&amp; p) {cout &lt;&lt; &quot;Macht jetzt was mit p: &quot; &lt;&lt; p.tolleFkt();});
test t(p);
t.mach_was = f;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2440507</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440507</guid><dc:creator><![CDATA[Jockelx]]></dc:creator><pubDate>Fri, 30 Jan 2015 15:19:44 GMT</pubDate></item><item><title><![CDATA[Reply to eventfunktion mit lamda oder aehnlich erstellen on Fri, 30 Jan 2015 15:38:36 GMT]]></title><description><![CDATA[<p>wie finde ich heraus ob mach_was eine lambda-funktion zugewiesen worden ist ?<br />
hab grad keine umgebung da, kann mich grad nicht selber rumspielen.<br />
ganz normal wie bei einem pointer ?</p>
<pre><code>...
void ereignis(int e)
{
   if(e == 1 &amp;&amp; mach_was != nullptr)
      mach_was(parent);
}
...
</code></pre>
<p>?</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2440510</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440510</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Fri, 30 Jan 2015 15:38:36 GMT</pubDate></item><item><title><![CDATA[Reply to eventfunktion mit lamda oder aehnlich erstellen on Fri, 30 Jan 2015 15:42:11 GMT]]></title><description><![CDATA[<p>Ja, genauso.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2440511</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440511</guid><dc:creator><![CDATA[Jockelx]]></dc:creator><pubDate>Fri, 30 Jan 2015 15:42:11 GMT</pubDate></item></channel></rss>