<?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[von nicht-const nach const]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe ein</p>
<pre><code>set&lt;const Square*&gt; squaresWithFoes;
</code></pre>
<p>und eine Methode</p>
<pre><code>set&lt;Square*&gt; getBlackPiecedSquares()
</code></pre>
<p>nun versuche ich eine Zuweisung:</p>
<pre><code>squaresWithFoes = board-&gt;getBlackPiecedSquares();
</code></pre>
<p>Dies geht aber nicht. Wohl weil es für std::set keine entsprechende Operatiorüberladung für = von nicht const nach const gibt.</p>
<p>Schade eigentlich, schließlich müsste es doch unproblematisch sein, von nicht const nach const zu gehen.</p>
<p>Hat jemand eine Idee, wie ich die Zuweisung am besten hinbekomme?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/286656/von-nicht-const-nach-const</link><generator>RSS for Node</generator><lastBuildDate>Thu, 20 Aug 2026 20:32:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/286656.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 13 May 2011 19:19:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to von nicht-const nach const on Fri, 13 May 2011 19:19:52 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe ein</p>
<pre><code>set&lt;const Square*&gt; squaresWithFoes;
</code></pre>
<p>und eine Methode</p>
<pre><code>set&lt;Square*&gt; getBlackPiecedSquares()
</code></pre>
<p>nun versuche ich eine Zuweisung:</p>
<pre><code>squaresWithFoes = board-&gt;getBlackPiecedSquares();
</code></pre>
<p>Dies geht aber nicht. Wohl weil es für std::set keine entsprechende Operatiorüberladung für = von nicht const nach const gibt.</p>
<p>Schade eigentlich, schließlich müsste es doch unproblematisch sein, von nicht const nach const zu gehen.</p>
<p>Hat jemand eine Idee, wie ich die Zuweisung am besten hinbekomme?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2063018</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2063018</guid><dc:creator><![CDATA[Bit2_Gosu]]></dc:creator><pubDate>Fri, 13 May 2011 19:19:52 GMT</pubDate></item><item><title><![CDATA[Reply to von nicht-const nach const on Fri, 13 May 2011 19:24:25 GMT]]></title><description><![CDATA[<p>Du musst wohl alle Pointer kopieren, finde das auch nervig.</p>
<pre><code class="language-cpp">set&lt;Square*&gt; NonConst = getBlackPiecedSquares();
squaresWithFoes = set&lt;const Square*&gt;( NonConst.begin(), NonConst.end() );
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2063020</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2063020</guid><dc:creator><![CDATA[fdfdg]]></dc:creator><pubDate>Fri, 13 May 2011 19:24:25 GMT</pubDate></item><item><title><![CDATA[Reply to von nicht-const nach const on Fri, 13 May 2011 19:26:51 GMT]]></title><description><![CDATA[<p>Oder du castest. Wozu brauchst du das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2063023</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2063023</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Fri, 13 May 2011 19:26:51 GMT</pubDate></item><item><title><![CDATA[Reply to von nicht-const nach const on Fri, 13 May 2011 19:41:28 GMT]]></title><description><![CDATA[<p>erst mal danke für die beiden ideen.</p>
<p>das mit dem casten funktioniert irgendwie nicht. Wenn ich einfach (set&lt;const Square*&gt;) davor schreibe, klappt das irgendwie nicht - hört sich auch etwas unmöglich an, bei einem container, oder?</p>
<p>bezgl. der zweiten antwort:</p>
<blockquote>
<p>wozu brauchst du das?</p>
</blockquote>
<p>wozu brauche ich was?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2063028</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2063028</guid><dc:creator><![CDATA[Bit2_Gosu]]></dc:creator><pubDate>Fri, 13 May 2011 19:41:28 GMT</pubDate></item><item><title><![CDATA[Reply to von nicht-const nach const on Fri, 13 May 2011 19:41:01 GMT]]></title><description><![CDATA[<p>Bit2_Gosu schrieb:</p>
<blockquote>
<p>wozu brauche ich was?</p>
</blockquote>
<p>Einen Container mit konstanten Daten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2063032</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2063032</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Fri, 13 May 2011 19:41:01 GMT</pubDate></item><item><title><![CDATA[Reply to von nicht-const nach const on Fri, 13 May 2011 19:51:54 GMT]]></title><description><![CDATA[<p>Tjo, leider aus folgendem Grund:</p>
<p>ich hatte ein</p>
<pre><code>map&lt;Square*, bool&gt; preSquares
</code></pre>
<p>und rufe auf:</p>
<pre><code>preSquares.find(square)
</code></pre>
<p>, wobei square ein</p>
<pre><code>const Square*
</code></pre>
<p>ist, der meiner Methode als Argument übergeben wird.</p>
<p>Leider gibt es die Methode find nur für Square*, weil das der Template Parameter für die map ist. Deshalb meckert der Compiler mit</p>
<blockquote>
<p>error: invalid conversion from ‘const Square*’ to ‘Square*’</p>
</blockquote>
<p>Deshalb war meine Idee, die Variable preSquares zu einer map&lt;const Square*, bool&gt; zu machen.</p>
<p>Ich meine, wenn ihr eine bessere Idee habt, freu ich mich natürlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2063036</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2063036</guid><dc:creator><![CDATA[Bit2_Gosu]]></dc:creator><pubDate>Fri, 13 May 2011 19:51:54 GMT</pubDate></item><item><title><![CDATA[Reply to von nicht-const nach const on Sat, 14 May 2011 01:21:18 GMT]]></title><description><![CDATA[<p>Du kannst nur <code>const</code> -Qualifizierer hinzufügen. Das sollte mit <code>std::copy()</code> gehen, eventuell auch mit einer Iterationsschleife durch den Container.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2063102</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2063102</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 14 May 2011 01:21:18 GMT</pubDate></item><item><title><![CDATA[Reply to von nicht-const nach const on Sat, 14 May 2011 01:37:29 GMT]]></title><description><![CDATA[<p>Bit2_Gosu schrieb:</p>
<blockquote>
<p>Leider gibt es die Methode find nur für Square*, weil das der Template Parameter für die map ist.</p>
</blockquote>
<p>Für einen solchen Fall könnte man ausnahmsweise auch mal den const_cast bemühen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2063108</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2063108</guid><dc:creator><![CDATA[fdfdg]]></dc:creator><pubDate>Sat, 14 May 2011 01:37:29 GMT</pubDate></item><item><title><![CDATA[Reply to von nicht-const nach const on Sat, 14 May 2011 09:54:55 GMT]]></title><description><![CDATA[<p>jo, ich machs jetzt auch mit const_cast.<br />
Ist am einfachsten und auch ungefährlich, weil die constness nur in der Methode entfernt ist und ich dort nicht schreibend zugreife.</p>
<p>Vielen Dank für eure Tipps!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2063180</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2063180</guid><dc:creator><![CDATA[Bit2_Gosu]]></dc:creator><pubDate>Sat, 14 May 2011 09:54:55 GMT</pubDate></item><item><title><![CDATA[Reply to von nicht-const nach const on Sat, 14 May 2011 10:00:45 GMT]]></title><description><![CDATA[<p>Bit2_Gosu schrieb:</p>
<blockquote>
<p>Ist am einfachsten und auch ungefährlich, weil die constness nur in der Methode entfernt ist und ich dort nicht schreibend zugreife.</p>
</blockquote>
<p>Ändere die Methode, dass sie const benutzt/zurückgibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2063186</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2063186</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Sat, 14 May 2011 10:00:45 GMT</pubDate></item></channel></rss>