<?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[int-array mit long-double überschreiben?]]></title><description><![CDATA[<p>Hi, ich suche eine Möglihckeit ein z.B. int-array mit einem größeren datentypen z.b. long double (gcc) mit Nullern zu überschreiben. Ich dachte dadurch würde man z.B. mit einem schlag mehrere elemente des int-arrays auf einmal Nullern.</p>
<p>Bsp. Ich habe ein int-array mit 2 elementen und schreibe an position 0 des arrays eine double-Null. Dann wäre das array komplett auf Null zurückgesetzt -also das zweite element sozusagen auch mit nullern überschrieben ohne dass ich darauf zugreife.</p>
<p>Sind meine Gedanken Blödsinn? Und wenn ja - warum?</p>
<p>Hier mein Minimalbeispiel:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

void print_arr(int* arr)
{
 for( int i= 0; i &lt; 20; i++)
         std::cout &lt;&lt; arr[i] &lt;&lt; &quot; &quot;;       
 std::cout &lt;&lt; std::endl;
}

int main(int argc, int** argv)               
{
   std::cout &lt;&lt; &quot;starting...&quot; &lt;&lt; std::endl;

   long double zero = 0.0;

   int* arr = new int[20];

   for( int i = 0; i &lt; 20; i++)
           arr[i] = i;

   print_arr(arr);

   arr[0] = zero;

   print_arr(arr);

   delete [] arr;
   std::cout &lt;&lt; &quot;finished...&quot; &lt;&lt; std::endl;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/241798/int-array-mit-long-double-überschreiben</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 06:53:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/241798.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 26 May 2009 09:37:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to int-array mit long-double überschreiben? on Tue, 26 May 2009 09:37:08 GMT]]></title><description><![CDATA[<p>Hi, ich suche eine Möglihckeit ein z.B. int-array mit einem größeren datentypen z.b. long double (gcc) mit Nullern zu überschreiben. Ich dachte dadurch würde man z.B. mit einem schlag mehrere elemente des int-arrays auf einmal Nullern.</p>
<p>Bsp. Ich habe ein int-array mit 2 elementen und schreibe an position 0 des arrays eine double-Null. Dann wäre das array komplett auf Null zurückgesetzt -also das zweite element sozusagen auch mit nullern überschrieben ohne dass ich darauf zugreife.</p>
<p>Sind meine Gedanken Blödsinn? Und wenn ja - warum?</p>
<p>Hier mein Minimalbeispiel:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

void print_arr(int* arr)
{
 for( int i= 0; i &lt; 20; i++)
         std::cout &lt;&lt; arr[i] &lt;&lt; &quot; &quot;;       
 std::cout &lt;&lt; std::endl;
}

int main(int argc, int** argv)               
{
   std::cout &lt;&lt; &quot;starting...&quot; &lt;&lt; std::endl;

   long double zero = 0.0;

   int* arr = new int[20];

   for( int i = 0; i &lt; 20; i++)
           arr[i] = i;

   print_arr(arr);

   arr[0] = zero;

   print_arr(arr);

   delete [] arr;
   std::cout &lt;&lt; &quot;finished...&quot; &lt;&lt; std::endl;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1715867</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1715867</guid><dc:creator><![CDATA[testo]]></dc:creator><pubDate>Tue, 26 May 2009 09:37:08 GMT</pubDate></item><item><title><![CDATA[Reply to int-array mit long-double überschreiben? on Tue, 26 May 2009 09:48:59 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">arr[0] = zero;
</code></pre>
<p>Das sollte mindestens eine Warnung geben. Und zwar, weil du versuchst den Inhalt eines größeren Datentypen in einem kleineren unterzubringen. In C++ wird bei integralen Typen, wie int, nicht einfach mal eben bei Zuweisung eines double, über irgendwelche Grenzen hinweggeschrieben (reicht das wir Pufferüberläufe in Arrays leicht hinkriegen). Vielmehr musst du den großen in den kleinen Typen casten (Typsicherheit). Bei einem Cast von double nach int, entsteht ein Datenverlust, dabei werden mindestens die Nachkommastellen von double wegfallen.</p>
<p>Was du willst geht so nicht. Dann musst du memset oder so nehmen und dann die Daten im Array überschreiben lassen mit dem neuen Wert:</p>
<pre><code class="language-cpp">memset(arr, 0, 2); // Erste 2 Elemente auf 0 setzen
</code></pre>
<p>Warum willst du sowas überhaupt machen? Außer mehrere Elemente auf 0 zu setzen (was mit u.a. memset ginge).</p>
<p>Greetz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1715880</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1715880</guid><dc:creator><![CDATA[Vellas]]></dc:creator><pubDate>Tue, 26 May 2009 09:48:59 GMT</pubDate></item><item><title><![CDATA[Reply to int-array mit long-double überschreiben? on Tue, 26 May 2009 10:12:28 GMT]]></title><description><![CDATA[<p>testo schrieb:</p>
<blockquote>
<p>Sind meine Gedanken Blödsinn? Und wenn ja - warum?</p>
</blockquote>
<p>Ja, das ist Blödsinn. Und übles gehacke noch dazu.<br />
Weil das Setzen von Elementen auf 0 keinen Flaschenhals darstellen sollte. Sonst ist irgendwas im Busch. Aber Du willst uns ja nicht sagen, was Du treibst (siehe Deinen anderen Thread).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1715904</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1715904</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Tue, 26 May 2009 10:12:28 GMT</pubDate></item></channel></rss>