<?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[volatile classes ?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine Klasse und würde sie gern im code als volatile definieren.<br />
Dazu beschwert sich mein compiler mit connot convert from &quot;volatile MyClass&quot; to bool.</p>
<p>Ich vermute ich brauche eine volatile operator überladung mittels</p>
<pre><code>volatile MyClass&amp; operator= (const MyClass&amp; a) volatile 
	{
		// Implementierung der Zuweisung
	}
</code></pre>
<p>Allerdings bin ich mir nicht sicher. ich bin auch über add_volatile gestolpert - ware das eine Lösung und wenn ja, wie kann ich das benutzen?</p>
<p>Danke für Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/335737/volatile-classes</link><generator>RSS for Node</generator><lastBuildDate>Mon, 20 Apr 2026 07:14:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/335737.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 08 Dec 2015 09:26:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to volatile classes ? on Tue, 08 Dec 2015 09:26:33 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine Klasse und würde sie gern im code als volatile definieren.<br />
Dazu beschwert sich mein compiler mit connot convert from &quot;volatile MyClass&quot; to bool.</p>
<p>Ich vermute ich brauche eine volatile operator überladung mittels</p>
<pre><code>volatile MyClass&amp; operator= (const MyClass&amp; a) volatile 
	{
		// Implementierung der Zuweisung
	}
</code></pre>
<p>Allerdings bin ich mir nicht sicher. ich bin auch über add_volatile gestolpert - ware das eine Lösung und wenn ja, wie kann ich das benutzen?</p>
<p>Danke für Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2478647</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2478647</guid><dc:creator><![CDATA[uiba]]></dc:creator><pubDate>Tue, 08 Dec 2015 09:26:33 GMT</pubDate></item><item><title><![CDATA[Reply to volatile classes ? on Tue, 08 Dec 2015 09:33:29 GMT]]></title><description><![CDATA[<p>uiba schrieb:</p>
<blockquote>
<p>ware das eine Lösung und wenn ja, wie kann ich das benutzen?</p>
</blockquote>
<p>dazu müsstest Du uns erst einmal Dein Problem erklären. volatile qualifier an Objekten ergeben so ziemlich gar keinen Sinn. Ansonsten passt die Fehlermeldung nicht zu dem von Dir gezeigten Code.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2478648</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2478648</guid><dc:creator><![CDATA[Torsten Robitzki]]></dc:creator><pubDate>Tue, 08 Dec 2015 09:33:29 GMT</pubDate></item><item><title><![CDATA[Reply to volatile classes ? on Tue, 08 Dec 2015 09:40:12 GMT]]></title><description><![CDATA[<p>Hmm,</p>
<p>ok, dann hätte ich 2 Fragen:</p>
<p>1. Wie kann ich erzwingen dass ein Objekt einer Klasse (MyClass) definitive vom RAM gelesen wird. Für bool Typen kann ich das einfach über volatile erzwingen. Aber für eine Klasse bzw. ein Objekt dieser Klasse kann ich nciht einfach<br />
volatile MyClass myclass = ... // constructor</p>
<p>2. Was genau macht add_volatile?</p>
<p>Danke euch</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2478649</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2478649</guid><dc:creator><![CDATA[uiba]]></dc:creator><pubDate>Tue, 08 Dec 2015 09:40:12 GMT</pubDate></item><item><title><![CDATA[Reply to volatile classes ? on Tue, 08 Dec 2015 09:55:34 GMT]]></title><description><![CDATA[<p>uiba schrieb:</p>
<blockquote>
<p>1. Wie kann ich erzwingen dass ein Objekt einer Klasse (MyClass) definitive vom RAM gelesen wird.</p>
</blockquote>
<p>C++ kennt kein RAM, darum gibt es auch kein Sprachmittel dafür. Es kommt ein wenig darauf an, was Dein eigentliches, zu lösendes Problem ist. Wenn Du Synchronisation über threads erreichen möchtest, dann hilft Dir volatile nicht.</p>
<p>uiba schrieb:</p>
<blockquote>
<p>2. Was genau macht add_volatile?</p>
</blockquote>
<p>Das fügt Dir an einen Typen T einen volatile qualifier ran, so dass da `volatile T` bei raus kommt. Wenn Du nicht gerade sehr generischen Code schreibst, bekommst Du das aber auch hin, wenn Du einfach `volatile` vor den Typen schreibst.</p>
<p>Dokumentation: <a href="http://en.cppreference.com/w/cpp/types/add_cv" rel="nofollow">add_cv</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2478653</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2478653</guid><dc:creator><![CDATA[Torsten Robitzki]]></dc:creator><pubDate>Tue, 08 Dec 2015 09:55:34 GMT</pubDate></item><item><title><![CDATA[Reply to volatile classes ? on Tue, 08 Dec 2015 09:58:11 GMT]]></title><description><![CDATA[<p>uiba schrieb:</p>
<blockquote>
<p>Hallo,</p>
<p>ich habe eine Klasse und würde sie gern im code als volatile definieren.]</p>
</blockquote>
<p>Was genau gedenkst du, dadurch zu erreichen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2478654</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2478654</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Tue, 08 Dec 2015 09:58:11 GMT</pubDate></item><item><title><![CDATA[Reply to volatile classes ? on Tue, 08 Dec 2015 10:04:21 GMT]]></title><description><![CDATA[<p>Torsten Robitzki schrieb:</p>
<blockquote>
<p>uiba schrieb:</p>
<blockquote>
<p>1. Wie kann ich erzwingen dass ein Objekt einer Klasse (MyClass) definitive vom RAM gelesen wird.</p>
</blockquote>
<p>C++ kennt kein RAM, darum gibt es auch kein Sprachmittel dafür.</p>
</blockquote>
<p>An sich ist volatile schon dazu da, genau das zu erreichen. Aber:</p>
<blockquote>
<p>Es kommt ein wenig darauf an, was Dein eigentliches, zu lösendes Problem ist. Wenn Du Synchronisation über threads erreichen möchtest, dann hilft Dir volatile nicht.</p>
</blockquote>
<p>Das hier. Die Anwendungen, wo volatile Sinn macht, sind sehr begrenzt. Spontan fiele mir nur low-level Treiberprogrammierung ein. Dahingegen gibt es aber jede Menge Anwendungen, wo Anfänger denken, volatile wäre gut, aber es ist in Wirklichkeit total falsch. Ich vermute mal, dass Leute, die nicht wirklich wissen, wie man volatile benutzt, eher zur zweiten Gruppe gehören. Daher: Was hast du eigentlich vor? Frag nach dem Ziel, das du erreichen möchtest, nicht nach dem Weg, den du dir dazu ausgedacht hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2478656</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2478656</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 08 Dec 2015 10:04:21 GMT</pubDate></item><item><title><![CDATA[Reply to volatile classes ? on Wed, 09 Dec 2015 07:17:15 GMT]]></title><description><![CDATA[<p>uiba schrieb:</p>
<blockquote>
<p>Hmm,</p>
<p>ok, dann hätte ich 2 Fragen:</p>
<p>1. Wie kann ich erzwingen dass ein Objekt einer Klasse (MyClass) definitive vom RAM gelesen wird. Für bool Typen kann ich das einfach über volatile erzwingen. Aber für eine Klasse bzw. ein Objekt dieser Klasse kann ich nciht einfach<br />
volatile MyClass myclass = ... // constructor</p>
<p>2. Was genau macht add_volatile?</p>
<p>Danke euch</p>
</blockquote>
<ol>
<li></li>
</ol>
<p>Du machst nicht bool volatile, also den Type, sondern die bool Variable, selbiges gilt daher auch für Klassenvariablen. Nicht die Klasse wird volatile, du bestimmst die Variable die volatile sein soll.</p>
<ol start="2">
<li></li>
</ol>
<p>ist ein type traits, hilft wenn du den Type nicht kennst du den Type aber ändern möchtest<br />
also zB bei Template Programmierung</p>
<p>std::add_volatile&lt;int&gt;::type<br />
std::add_volatile&lt;volatile int&gt;::type</p>
<p>int wird zu volatile int<br />
volatile int aber nicht zu volatile volatile int sonder bleibt volatile int</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2478784</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2478784</guid><dc:creator><![CDATA[kurze_frage]]></dc:creator><pubDate>Wed, 09 Dec 2015 07:17:15 GMT</pubDate></item></channel></rss>