<?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[Prüfen ob ArrayInhalt 0 ist]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich habe folgendes:</p>
<pre><code class="language-cpp">MyType array[8];
memset(array, 0, 8);
</code></pre>
<p>Damit habe ich ein Array vom Typ MyType was in jedem Feld 0 enthält.<br />
Nur wie kann ich das hinterher prüfen?</p>
<pre><code class="language-cpp">if(array[3] != 0)
</code></pre>
<p>Geht nicht</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/147588/prüfen-ob-arrayinhalt-0-ist</link><generator>RSS for Node</generator><lastBuildDate>Fri, 04 Sep 2026 10:24:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/147588.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 18 May 2006 12:02:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Prüfen ob ArrayInhalt 0 ist on Thu, 18 May 2006 12:02:40 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich habe folgendes:</p>
<pre><code class="language-cpp">MyType array[8];
memset(array, 0, 8);
</code></pre>
<p>Damit habe ich ein Array vom Typ MyType was in jedem Feld 0 enthält.<br />
Nur wie kann ich das hinterher prüfen?</p>
<pre><code class="language-cpp">if(array[3] != 0)
</code></pre>
<p>Geht nicht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1060096</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1060096</guid><dc:creator><![CDATA[Öhm23]]></dc:creator><pubDate>Thu, 18 May 2006 12:02:40 GMT</pubDate></item><item><title><![CDATA[Reply to Prüfen ob ArrayInhalt 0 ist on Thu, 18 May 2006 12:06:44 GMT]]></title><description><![CDATA[<p>Was genau ist denn MyType? Wenn sich dahinter eine eigenständige Klasse verbirgt, hast du durch deine memset()-Spielerei vermutlich ungültige Objekte erzeugt. Andernfalls hast du nur die ersten 8 <strong>BYTE</strong> des Arrays auf 0 gesetzt (und außer char's sind eigentlich alle Datentypen größer als 1 Byte).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1060098</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1060098</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 18 May 2006 12:06:44 GMT</pubDate></item><item><title><![CDATA[Reply to Prüfen ob ArrayInhalt 0 ist on Thu, 18 May 2006 12:07:47 GMT]]></title><description><![CDATA[<p>Man kann int und MyType ohne op== wohl nicht vergleichen...</p>
<p>Ich weiss auch nicht ob Du <strong>wirklich</strong> die ersten acht Bytes der Tabelle von Deinen MyTypes mit 0 überschreiben möchtest, der Konstruktor von MyType sollte sehr gut selbst in der Lage sein sich zu initialisieren. Du änderst damit von aussen den Zustand Deiner Objekte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1060099</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1060099</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 18 May 2006 12:07:47 GMT</pubDate></item><item><title><![CDATA[Reply to Prüfen ob ArrayInhalt 0 ist on Thu, 18 May 2006 14:05:07 GMT]]></title><description><![CDATA[<p>wenn MyType kein POD ist, dann ist die verwendung von memset undefiniertes verhalten. andernfalls tut es schlicht nicht das richtige, es sei denn MyType hat die größe 1. wenn MyType kein POD ist, so ist es ohnehin nicht notwendig, die elemnte explizit zu initialisieren - der default-ctor jedes elements wird implizit aufgerufen werden. andernfalls bietet sich die verwendung eines array-initialisierers an (der im übrigen so auch bei nicht-PODs benutzt werden kann - man muß sich also nicht darum kümmern):</p>
<pre><code class="language-cpp">MyType array[8]={};
</code></pre>
<p>ansonsten siehe vorherige beiträge - MyType benötigt einen eigenen operator!= oder eine implizite konvertierung in einen typ, der mit int verglichen werden kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1060182</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1060182</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 18 May 2006 14:05:07 GMT</pubDate></item><item><title><![CDATA[Reply to Prüfen ob ArrayInhalt 0 ist on Thu, 18 May 2006 17:59:24 GMT]]></title><description><![CDATA[<p>Öhm23 schrieb:</p>
<blockquote>
<p>Damit habe ich ein Array vom Typ MyType was in jedem Feld 0 enthält.<br />
Nur wie kann ich das hinterher prüfen?</p>
</blockquote>
<p>Wieso willst du das? memset arbeitet _immer_ korrekt. Wenn nicht, dann kannst du von defekter Hardware ausgehen. Und dann ist Hopfen und Malz sowieso verloren.<br />
Oder geht es dir nur darum, generell die Elemente eines Arrays mit einem Wert zu vergleichen? Ansonsten können wir nur raten, da niemand weiss, was genau dein MyType ist. memset arbeitet bytebasierend, du willst das Array mit einem int vergleichen und dein eigentlicher Typ ist MyType. Passt irgendwie alles nicht so richtig zusammen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1060396</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1060396</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Thu, 18 May 2006 17:59:24 GMT</pubDate></item><item><title><![CDATA[Reply to Prüfen ob ArrayInhalt 0 ist on Fri, 19 May 2006 06:11:37 GMT]]></title><description><![CDATA[<p>groovemaster schrieb:</p>
<blockquote>
<p>Öhm23 schrieb:</p>
<blockquote>
<p>Damit habe ich ein Array vom Typ MyType was in jedem Feld 0 enthält.<br />
Nur wie kann ich das hinterher prüfen?</p>
</blockquote>
<p>Wieso willst du das? memset arbeitet _immer_ korrekt.</p>
</blockquote>
<p>Wie man's nimmt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> memset() setzt stumpf die Speicherbytes auf den übergebenen Wert - und wie schon mehrfach erklärt wurde, ergibt ein Füllen mit 0-Werten nicht unbedingt ein gültiges Objekt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1060577</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1060577</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 19 May 2006 06:11:37 GMT</pubDate></item><item><title><![CDATA[Reply to Prüfen ob ArrayInhalt 0 ist on Fri, 19 May 2006 21:15:25 GMT]]></title><description><![CDATA[<p>Ich sprach aber nicht von logischen Fehlern. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> memset setzt einen Bereich von Bytes auf einen bestimmten Wert, und das erfolgt _immer_ fehlerfrei. Was der Bereich dann letztendlich repräsentiert, spielt dabei erstmal keine Rolle.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1061292</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1061292</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Fri, 19 May 2006 21:15:25 GMT</pubDate></item></channel></rss>