<?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[Zwei Fragen zum Verhalten eines Codestücks]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>in unseren Vorlesungsunterlagen habe ich folgenden Code entdeckt:</p>
<pre><code class="language-cpp">int *p = new int[10];
p = &amp;p[1]; //Verschiebung um 1 nach rechts
</code></pre>
<p>Aber irgendwie sieht das ziemlich gefährlich aus. Verliert man hier nicht die &quot;Information&quot; über den allokierten Speicher? Würde ein delete auf das neue p normal funktionieren?</p>
<p>Die zweite Frage: Liefert folgender Code einen wohl definierten Wert oder ist das Implementation definied/undefined?</p>
<pre><code class="language-cpp">std::abs(INT_MIN);
</code></pre>
<p>Schon mal Danke für alle Antworten!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/301989/zwei-fragen-zum-verhalten-eines-codestücks</link><generator>RSS for Node</generator><lastBuildDate>Tue, 11 Aug 2026 17:18:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/301989.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 08 Apr 2012 23:11:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zwei Fragen zum Verhalten eines Codestücks on Sun, 08 Apr 2012 23:11:18 GMT]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>in unseren Vorlesungsunterlagen habe ich folgenden Code entdeckt:</p>
<pre><code class="language-cpp">int *p = new int[10];
p = &amp;p[1]; //Verschiebung um 1 nach rechts
</code></pre>
<p>Aber irgendwie sieht das ziemlich gefährlich aus. Verliert man hier nicht die &quot;Information&quot; über den allokierten Speicher? Würde ein delete auf das neue p normal funktionieren?</p>
<p>Die zweite Frage: Liefert folgender Code einen wohl definierten Wert oder ist das Implementation definied/undefined?</p>
<pre><code class="language-cpp">std::abs(INT_MIN);
</code></pre>
<p>Schon mal Danke für alle Antworten!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2200065</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2200065</guid><dc:creator><![CDATA[Standardkonform?]]></dc:creator><pubDate>Sun, 08 Apr 2012 23:11:18 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei Fragen zum Verhalten eines Codestücks on Sun, 08 Apr 2012 23:32:10 GMT]]></title><description><![CDATA[<p>Standardkonform? schrieb:</p>
<blockquote>
<p>Aber irgendwie sieht das ziemlich gefährlich aus. Verliert man hier nicht die &quot;Information&quot; über den allokierten Speicher? Würde ein delete auf das neue p normal funktionieren?</p>
</blockquote>
<p>Es ist nicht hübsch, aber standardkonform. Nein, ein delete auf das neue p wäre UB, aber niemand hindert einen daran, p wieder zu dekrementieren bevor man delete aufruft.</p>
<p>Standardkonform? schrieb:</p>
<blockquote>
<p>Die zweite Frage: Liefert folgender Code einen wohl definierten Wert oder ist das Implementation definied/undefined?</p>
<pre><code class="language-cpp">std::abs(INT_MIN);
</code></pre>
</blockquote>
<p>Warum sollte der Code nicht konform sein?</p>
<p>Edit: Tatsache</p>
<p>n1548 7.22.6.1/2 The abs, labs and llabs functions schrieb:</p>
<blockquote>
<p>The abs, labs, and llabs functions compute the absolute value of an integer j. If the result cannot be represented, the behavior is undefined. 297)</p>
</blockquote>
<ol start="297">
<li>schrieb:</li>
</ol>
<blockquote>
<p>The absolute value of the most negative number cannot be represented in two’s complement.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2200068</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2200068</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sun, 08 Apr 2012 23:32:10 GMT</pubDate></item></channel></rss>