<?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[C Cast in C++ umsetzen]]></title><description><![CDATA[<p>Hi,</p>
<p>wie setze ich am besten die C Casts wie</p>
<pre><code class="language-cpp">(HBRUSH)GetStockObject(WHITE_BRUSH)
</code></pre>
<p>in C++ um?</p>
<p>Einfach so lassen oder als reinterpret_cast?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/271394/c-cast-in-c-umsetzen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 12:58:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/271394.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 27 Jul 2010 17:30:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to C Cast in C++ umsetzen on Tue, 27 Jul 2010 17:30:24 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>wie setze ich am besten die C Casts wie</p>
<pre><code class="language-cpp">(HBRUSH)GetStockObject(WHITE_BRUSH)
</code></pre>
<p>in C++ um?</p>
<p>Einfach so lassen oder als reinterpret_cast?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1932702</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1932702</guid><dc:creator><![CDATA[keinBenutzer]]></dc:creator><pubDate>Tue, 27 Jul 2010 17:30:24 GMT</pubDate></item><item><title><![CDATA[Reply to C Cast in C++ umsetzen on Tue, 27 Jul 2010 17:41:07 GMT]]></title><description><![CDATA[<p>Diesem kurzen Code-Fetzen kann man nicht ansehen, was da eigentlich passiert. Was ist denn HBRUSH für ein Typ und was liefert die Funktion (oder der Funktor) GetStockObject genau zurück?</p>
<p>Der C-Style Cast macht einfach je nach Situation etwas anderes. In einigen Situationen ist er äquivalent zu static_cast, in anderen zu const_cast, in anderen zu reinterpret_cast. Das kommt ganz drauf an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1932707</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1932707</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Tue, 27 Jul 2010 17:41:07 GMT</pubDate></item><item><title><![CDATA[Reply to C Cast in C++ umsetzen on Tue, 27 Jul 2010 17:42:41 GMT]]></title><description><![CDATA[<p>Das ist ja gerade der Witz an den &quot;C++ Casts&quot;, also soundso_cast&lt;Typ&gt;(...), dass Du damit genau sagen kannst, was eigentlich passieren soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1932708</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1932708</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Tue, 27 Jul 2010 17:42:41 GMT</pubDate></item><item><title><![CDATA[Reply to C Cast in C++ umsetzen on Tue, 27 Jul 2010 17:48:37 GMT]]></title><description><![CDATA[<p>Ich weiß nicht, ob man das 100%ig allgemein sagen kann, aber const_cast kommt in C ja praktisch nicht vor, dynamic_cast gibts gar nicht und reinterpret_cast hat eigentlich immer eine Form wie <code>*(Type*)&amp;lvalue</code> . Also bleibt nur static_cast als Allerweltscast für den ganzen Rest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1932710</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1932710</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Tue, 27 Jul 2010 17:48:37 GMT</pubDate></item><item><title><![CDATA[Reply to C Cast in C++ umsetzen on Tue, 27 Jul 2010 17:52:19 GMT]]></title><description><![CDATA[<p>Es geht hierbei um das Füllen der Fensterstruktur der WinAPI,</p>
<pre><code class="language-cpp">wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
</code></pre>
<p>GetStockObject liefert ein GDI-Objekt zurück das halt entsprechend gecastet werden kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1932712</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1932712</guid><dc:creator><![CDATA[keinBenutzer]]></dc:creator><pubDate>Tue, 27 Jul 2010 17:52:19 GMT</pubDate></item><item><title><![CDATA[Reply to C Cast in C++ umsetzen on Tue, 27 Jul 2010 17:55:16 GMT]]></title><description><![CDATA[<p>krümelkacker schrieb:</p>
<blockquote>
<p>Diesem kurzen Code-Fetzen kann man nicht ansehen, was da eigentlich passiert. Was ist denn HBRUSH für ein Typ und was liefert die Funktion (oder der Funktor) GetStockObject genau zurück?</p>
</blockquote>
<p>Das ist ja gerade das Problem bei diesen ganzen Handles im WinAPI... Der eigentliche Typ wird hinter einem #define oder typedef versteckt, und ist meines Wissens nichtmal dokumentiert (wenn man nicht in die entsprechenden Header-Files guckt).</p>
<p>Ich würde den Code so lassen. Ein static_cast wäre zwar richtig, trägt in diesem Fall aber nicht zur Lesbarkeit bei. Und wenn man ein C-API benutzt sollte es auch erlaubt sein, eigentlich &quot;unschöne&quot; C-Sprachkonstrukte zu verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1932713</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1932713</guid><dc:creator><![CDATA[dooooomi]]></dc:creator><pubDate>Tue, 27 Jul 2010 17:55:16 GMT</pubDate></item><item><title><![CDATA[Reply to C Cast in C++ umsetzen on Tue, 27 Jul 2010 18:05:14 GMT]]></title><description><![CDATA[<p>Bashar schrieb:</p>
<blockquote>
<p>reinterpret_cast hat eigentlich immer eine Form wie <code>*(Type*)&amp;lvalue</code> .</p>
</blockquote>
<p>Nein, das kann man so nicht sagen. Ein Reinterpret_cast kann auch zwischen Zeigern und Ganzzahlen wandeln. Und Zeigertypen können ja auch hinter Typedefs versteckt werden. Der Code des OPs kann so ziemlich alles machen, je nachdem, was die Funktion liefert und was HBRUSH sein soll.</p>
<p>Bashar schrieb:</p>
<blockquote>
<p>Also bleibt nur static_cast als Allerweltscast für den ganzen Rest.</p>
</blockquote>
<p>Man kann es zumindest mit einem static_cast zuerst probieren. Wenn das dann nicht kompiliert, ist dann reinterpret_cast wahrscheinlich der richtige.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1932719</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1932719</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Tue, 27 Jul 2010 18:05:14 GMT</pubDate></item><item><title><![CDATA[Reply to C Cast in C++ umsetzen on Tue, 27 Jul 2010 18:10:10 GMT]]></title><description><![CDATA[<p>Die Typen sind <a href="http://msdn.microsoft.com/en-us/library/aa383751%28VS.85%29.aspx" rel="nofollow">hier</a> dokumentiert. Es handelt sich dabei um Zeiger auf void.</p>
<p>Dementsprechend böte sich da ein einfacher static_cast an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1932723</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1932723</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Tue, 27 Jul 2010 18:10:10 GMT</pubDate></item><item><title><![CDATA[Reply to C Cast in C++ umsetzen on Tue, 27 Jul 2010 18:17:10 GMT]]></title><description><![CDATA[<p>GetStockObject gibt ein void* zurück, kann also zu jedem beliebigen Zeiger gecastet werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1932731</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1932731</guid><dc:creator><![CDATA[keinBenutzer]]></dc:creator><pubDate>Tue, 27 Jul 2010 18:17:10 GMT</pubDate></item><item><title><![CDATA[Reply to C Cast in C++ umsetzen on Tue, 27 Jul 2010 18:19:34 GMT]]></title><description><![CDATA[<p>seldon schrieb:</p>
<blockquote>
<p>Die Typen sind <a href="http://msdn.microsoft.com/en-us/library/aa383751%28VS.85%29.aspx" rel="nofollow">hier</a> dokumentiert. Es handelt sich dabei um Zeiger auf void.</p>
<p>Dementsprechend böte sich da ein einfacher static_cast an.</p>
</blockquote>
<p>Super danke, you made my day <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1932732</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1932732</guid><dc:creator><![CDATA[keinBenutzer]]></dc:creator><pubDate>Tue, 27 Jul 2010 18:19:34 GMT</pubDate></item></channel></rss>