<?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[Thread der in Member-Variablen schreibt]]></title><description><![CDATA[<p>Hi.<br />
Habe derzeit ein designtechnisches Problem, hoffe jemand lann mir dabei helfen.</p>
<p>Angenommen ich habe eine abgeleitete Klasse:</p>
<pre><code class="language-cpp">class Foo : public Bar
{
    protected:
        int x;
        int y;

    public:
        //Hier wird ein Thread gestartet
        void startUpdatingVars();
};
</code></pre>
<p>Jetzt möchte ich einen Thread laufen lassen, der regelmäßig Werte in x und y schreibt. Wie lässt sich das am besten lösen?<br />
Ich müsste ja die Thread-Funktion als static deklarieren womit ich keinen Zugriff mehr auf die Member-Variablen hätte.</p>
<p>Habe gerade keine Ahnung wie ich das machen soll, vlt auch einfach nur Brainlag.</p>
<p>Mein einziger Ansatz wäre es eine Memberfunktion zu schreiben die Zeiger auf die Membervariablen zurückgibt...aber das klingt ziemlich dreckig, meiner Meinung nach. (Vor allem handelt es sich in der Realität um 21 Variablen, nicht 2.</p>
<p>Wäre trotzdem über Antworten froh ! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/250478/thread-der-in-member-variablen-schreibt</link><generator>RSS for Node</generator><lastBuildDate>Wed, 16 Sep 2026 00:33:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/250478.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 18 Sep 2009 16:14:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Thread der in Member-Variablen schreibt on Fri, 18 Sep 2009 16:14:45 GMT]]></title><description><![CDATA[<p>Hi.<br />
Habe derzeit ein designtechnisches Problem, hoffe jemand lann mir dabei helfen.</p>
<p>Angenommen ich habe eine abgeleitete Klasse:</p>
<pre><code class="language-cpp">class Foo : public Bar
{
    protected:
        int x;
        int y;

    public:
        //Hier wird ein Thread gestartet
        void startUpdatingVars();
};
</code></pre>
<p>Jetzt möchte ich einen Thread laufen lassen, der regelmäßig Werte in x und y schreibt. Wie lässt sich das am besten lösen?<br />
Ich müsste ja die Thread-Funktion als static deklarieren womit ich keinen Zugriff mehr auf die Member-Variablen hätte.</p>
<p>Habe gerade keine Ahnung wie ich das machen soll, vlt auch einfach nur Brainlag.</p>
<p>Mein einziger Ansatz wäre es eine Memberfunktion zu schreiben die Zeiger auf die Membervariablen zurückgibt...aber das klingt ziemlich dreckig, meiner Meinung nach. (Vor allem handelt es sich in der Realität um 21 Variablen, nicht 2.</p>
<p>Wäre trotzdem über Antworten froh ! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1781106</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1781106</guid><dc:creator><![CDATA[Icematix]]></dc:creator><pubDate>Fri, 18 Sep 2009 16:14:45 GMT</pubDate></item><item><title><![CDATA[Reply to Thread der in Member-Variablen schreibt on Fri, 18 Sep 2009 16:41:02 GMT]]></title><description><![CDATA[<p>Du könntest der Thread-Funktion einen Zeiger auf das Objekt geben.</p>
<p>Icematix schrieb:</p>
<blockquote>
<p>Mein einziger Ansatz wäre es eine Memberfunktion zu schreiben die Zeiger auf die Membervariablen zurückgibt...</p>
</blockquote>
<p>Ich sehe nicht, wie das bei dem Problem helfen könnte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1781119</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1781119</guid><dc:creator><![CDATA[Registrierter Troll]]></dc:creator><pubDate>Fri, 18 Sep 2009 16:41:02 GMT</pubDate></item><item><title><![CDATA[Reply to Thread der in Member-Variablen schreibt on Fri, 18 Sep 2009 19:44:18 GMT]]></title><description><![CDATA[<p>Wenn du Boost.Thread verwendest, dann kannst du als Thread-Funktion mitgeben was du willst (=einen beliebigen Funktor).</p>
<p>Dadurch kannst du z.B. einen mit boost::bind an das Objekt &quot;gebundenen&quot; Member-Function-Pointer mitgeben ( <code>boost::bind(&amp;MyClass::ThreadFunction, this)</code> ).</p>
<p>Spart mächtig viel Zeit.<br />
Zeit, die du dann darin investieren kannst, dich über Speichermodelle, Sichtbarkeit von Änderungen, Synchronisation etc. schlauzulesen. Also das, was man zum Thema Threading wissen sollte, wenn man nicht auf die Nauze fliegen will.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1781202</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1781202</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 18 Sep 2009 19:44:18 GMT</pubDate></item></channel></rss>