<?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[Wenn Tippfehler sich erst zur Laufzeit bemerkbar machen ...]]></title><description><![CDATA[<p>Bis vor Kurzem war ich noch der Auffassung, Klassen-Attribute ohne Präfix zu deklarieren (als Anmerkung zu einem Beitrag von (D)Evil). Ein eher triviales Problem, welches durch Debugging doch noch gelöst wurde, bewegt mich nunmehr dazu doch ein <em>m_</em> als Attribut-Präfix zu verwenden.</p>
<p>Ein Suchbild:</p>
<pre><code class="language-cpp">Window::Window(size_t width, size_t height, char c)
    : data(NULL), width(width), height(height)
    {
        size_t length = width * height;
        data = new char[length];
        fill(c);
    }
</code></pre>
<p>vs.</p>
<pre><code class="language-cpp">Window::Window(size_t width, size_t heigth, char c)
    : data(NULL), width(width), height(height)
    {
        size_t length = width * height;
        data = new char[length];
        fill(c);
    }
</code></pre>
<p>In den meisten Fällen findet man Fehler durch aufmerksames Quelltext lesen recht zuverlässig. Aber der Fehler im zweiten Code-Block hatte sich dann doch meiner Wahrnehmung entzogen.</p>
<p>Der logisch wasserdichte Code stürzte bei der Ausführung einfach mal ab ;).</p>
<p>Mit <em>m_</em> wäre das nicht passiert...</p>
<p>Grüße...</p>
<p>Heiko</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/196486/wenn-tippfehler-sich-erst-zur-laufzeit-bemerkbar-machen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 30 Sep 2026 17:58:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/196486.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 30 Oct 2007 12:24:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wenn Tippfehler sich erst zur Laufzeit bemerkbar machen ... on Tue, 30 Oct 2007 12:24:11 GMT]]></title><description><![CDATA[<p>Bis vor Kurzem war ich noch der Auffassung, Klassen-Attribute ohne Präfix zu deklarieren (als Anmerkung zu einem Beitrag von (D)Evil). Ein eher triviales Problem, welches durch Debugging doch noch gelöst wurde, bewegt mich nunmehr dazu doch ein <em>m_</em> als Attribut-Präfix zu verwenden.</p>
<p>Ein Suchbild:</p>
<pre><code class="language-cpp">Window::Window(size_t width, size_t height, char c)
    : data(NULL), width(width), height(height)
    {
        size_t length = width * height;
        data = new char[length];
        fill(c);
    }
</code></pre>
<p>vs.</p>
<pre><code class="language-cpp">Window::Window(size_t width, size_t heigth, char c)
    : data(NULL), width(width), height(height)
    {
        size_t length = width * height;
        data = new char[length];
        fill(c);
    }
</code></pre>
<p>In den meisten Fällen findet man Fehler durch aufmerksames Quelltext lesen recht zuverlässig. Aber der Fehler im zweiten Code-Block hatte sich dann doch meiner Wahrnehmung entzogen.</p>
<p>Der logisch wasserdichte Code stürzte bei der Ausführung einfach mal ab ;).</p>
<p>Mit <em>m_</em> wäre das nicht passiert...</p>
<p>Grüße...</p>
<p>Heiko</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1394641</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1394641</guid><dc:creator><![CDATA[bwbg]]></dc:creator><pubDate>Tue, 30 Oct 2007 12:24:11 GMT</pubDate></item><item><title><![CDATA[Reply to Wenn Tippfehler sich erst zur Laufzeit bemerkbar machen ... on Tue, 30 Oct 2007 13:01:21 GMT]]></title><description><![CDATA[<p>öhm... bin ich blind? Also... die beiden blöcke sind doch vollkommen identisch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1394665</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1394665</guid><dc:creator><![CDATA[Maxi]]></dc:creator><pubDate>Tue, 30 Oct 2007 13:01:21 GMT</pubDate></item><item><title><![CDATA[Reply to Wenn Tippfehler sich erst zur Laufzeit bemerkbar machen ... on Tue, 30 Oct 2007 13:04:54 GMT]]></title><description><![CDATA[<p>Maxi schrieb:</p>
<blockquote>
<p>öhm... bin ich blind? Also... die beiden blöcke sind doch vollkommen identisch?</p>
</blockquote>
<p>height &lt;-&gt; heigth <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="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1394667</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1394667</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 30 Oct 2007 13:04:54 GMT</pubDate></item><item><title><![CDATA[Reply to Wenn Tippfehler sich erst zur Laufzeit bemerkbar machen ... on Tue, 30 Oct 2007 13:06:21 GMT]]></title><description><![CDATA[<p>Nicht ganz - aber man muß wirklich sehr genau hinsehen, um den Fehler zu erkennen (oder einen Text-Editor seiner Wahl bitten, den Fehler besser hervorzuheben - Tip: er betrifft die Variablennamen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1394668</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1394668</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 30 Oct 2007 13:06:21 GMT</pubDate></item><item><title><![CDATA[Reply to Wenn Tippfehler sich erst zur Laufzeit bemerkbar machen ... on Tue, 30 Oct 2007 13:07:22 GMT]]></title><description><![CDATA[<p>Superbeispiel <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> ich hab's nach den ersten beiden Durchlesen wirklich nicht gefunden.</p>
<p>Die Moral von der Geschicht': markiert die Member als solche ('m_'-präfix oder '_'-suffix). Der Code liest sich auch irgendwie besser ...</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1394669</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1394669</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Tue, 30 Oct 2007 13:07:22 GMT</pubDate></item><item><title><![CDATA[Reply to Wenn Tippfehler sich erst zur Laufzeit bemerkbar machen ... on Tue, 30 Oct 2007 13:24:12 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Nicht ganz - aber man muß wirklich sehr genau hinsehen, um den Fehler zu erkennen (oder einen Text-Editor seiner Wahl bitten, den Fehler besser hervorzuheben - Tip: er betrifft die Variablennamen).</p>
</blockquote>
<p>Ein (Syntax-)Fehler ist es ja nicht, da hilft auch der beste Texteditor nicht. Das war ja das Problem - ansonsten nenne mir mal bitte den Texteditor, der das kann <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="😉"
    /></p>
<p>Das Problem in der Sache entstand in erster Linie aus der Parameterüberladung. <em>size_t heig*th*</em> ist als Parameter gültig und <em>könnte</em> im Konstruktor (und in der Initialisierungsliste) verwendet werden. <em>heig_ht_</em> existiert aber bereits durch die Deklaration und initialisiert sich in der Initialisierungsliste mit sich selbst (undefiniert), da die Parameterüberladung de facto ja nichts stattfindet -&gt; Das Programm verhält sich korrekt, nur eben nicht, wie erwartet.</p>
<p>Hinzu kommt noch die Unzulänglichkeit der menschlichen Wahrnehmung <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="😉"
    /></p>
<p>Grüße...</p>
<p>m_Heiko</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1394677</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1394677</guid><dc:creator><![CDATA[bwbg]]></dc:creator><pubDate>Tue, 30 Oct 2007 13:24:12 GMT</pubDate></item><item><title><![CDATA[Reply to Wenn Tippfehler sich erst zur Laufzeit bemerkbar machen ... on Tue, 30 Oct 2007 13:30:33 GMT]]></title><description><![CDATA[<p>bwbg schrieb:</p>
<blockquote>
<p>CStoll schrieb:</p>
<blockquote>
<p>Nicht ganz - aber man muß wirklich sehr genau hinsehen, um den Fehler zu erkennen (oder einen Text-Editor seiner Wahl bitten, den Fehler besser hervorzuheben - Tip: er betrifft die Variablennamen).</p>
</blockquote>
<p>Ein (Syntax-)Fehler ist es ja nicht, da hilft auch der beste Texteditor nicht. Das war ja das Problem - ansonsten nenne mir mal bitte den Texteditor, der das kann <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="😉"
    /></p>
</blockquote>
<p>Ich dachte auch nicht an automatische Analysen, sondern eher an Suchen/Ersetzen <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="😉"
    /> (würde für dein Beispiel ausreichen, um den Unterschied zu erkennen - in der Praxis muß man erstmal wissen, was man suchen will)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1394681</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1394681</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 30 Oct 2007 13:30:33 GMT</pubDate></item><item><title><![CDATA[Reply to Wenn Tippfehler sich erst zur Laufzeit bemerkbar machen ... on Tue, 30 Oct 2007 13:40:47 GMT]]></title><description><![CDATA[<p>Wirklich gutes Beispiel mit height &lt;-&gt; heigth! Früher hab ich auch m_ als Prefix verwendet, da aber scheinbar sehr viele Programmierer dagegen wettern, hab ich mir _ für Klassenmember angewöhnt. Ich finde daher auch Sprachen gut (ich glaub es war in PHP), die erzwingen, dass vor einer Membervariable ein $ oder so gehört.</p>
<p>Bei m_var finde ich aber auch, dass es den Lesefluss stört, weil es aussieht wie zwei verschiedene Token, einmal m und einmal var, nix zusammenhängendes halt. Aber ist ja äußerst subjektiv und jeder wie er mag <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/1394684</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1394684</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Tue, 30 Oct 2007 13:40:47 GMT</pubDate></item><item><title><![CDATA[Reply to Wenn Tippfehler sich erst zur Laufzeit bemerkbar machen ... on Tue, 30 Oct 2007 13:42:52 GMT]]></title><description><![CDATA[<p>bwbg schrieb:</p>
<blockquote>
<p>Ein (Syntax-)Fehler ist es ja nicht, da hilft auch der beste Texteditor nicht. Das war ja das Problem - ansonsten nenne mir mal bitte den Texteditor, der das kann <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="😉"
    /></p>
</blockquote>
<p>Eclipse hinterlegt mir alle Vorkommen eines Namens, wenn ich draufklick.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1394685</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1394685</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Tue, 30 Oct 2007 13:42:52 GMT</pubDate></item><item><title><![CDATA[Reply to Wenn Tippfehler sich erst zur Laufzeit bemerkbar machen ... on Tue, 30 Oct 2007 14:00:55 GMT]]></title><description><![CDATA[<p>eclipse würd bei genau so einem fehler auch nen warning schmeissen der art &quot;statement has no effect&quot; (jaja, ist keine statement, ist nen initializer).<br />
qualifiziere deshalb schon seit ewigkeiten jeglichen variablen zugriff. also entweder durch &quot;this&quot; oder bei statischen mit dem klassenprefix.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1394693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1394693</guid><dc:creator><![CDATA[thordk]]></dc:creator><pubDate>Tue, 30 Oct 2007 14:00:55 GMT</pubDate></item><item><title><![CDATA[Reply to Wenn Tippfehler sich erst zur Laufzeit bemerkbar machen ... on Tue, 30 Oct 2007 15:36:04 GMT]]></title><description><![CDATA[<p>Wer ne gute IDE hat, braucht keine verkrüppelten variablennamen. :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1394716</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1394716</guid><dc:creator><![CDATA[undwaslernenwirdaraus]]></dc:creator><pubDate>Tue, 30 Oct 2007 15:36:04 GMT</pubDate></item><item><title><![CDATA[Reply to Wenn Tippfehler sich erst zur Laufzeit bemerkbar machen ... on Fri, 02 Nov 2007 20:14:34 GMT]]></title><description><![CDATA[<p>bwbg schrieb:</p>
<blockquote>
<p>...<br />
...Mit <em>m_</em> wäre das nicht passiert...</p>
</blockquote>
<p>Werner Salomon schrieb:</p>
<blockquote>
<p>Superbeispiel <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> ich hab's nach den ersten beiden Durchlesen wirklich nicht gefunden.</p>
<p>Die Moral von der Geschicht': markiert die Member als solche ('m_'-präfix oder '_'-suffix). Der Code liest sich auch irgendwie besser ...<br />
...</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
Was wäre denn mit Präfix besser geworden ?</p>
<pre><code class="language-cpp">Window::Window(size_t width, size_t heigth, char c)
    : data(NULL), width(width), m_height(m_height)
...
</code></pre>
<p>geht doch genauso in die Hose.</p>
<p>MEINE Moral von der Geschicht: Verwende niemals gleichlautende Variablen.<br />
SOWAS macht immer Probleme.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1396632</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1396632</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Fri, 02 Nov 2007 20:14:34 GMT</pubDate></item><item><title><![CDATA[Reply to Wenn Tippfehler sich erst zur Laufzeit bemerkbar machen ... on Fri, 02 Nov 2007 20:28:33 GMT]]></title><description><![CDATA[<p>Werner Salomon schrieb:</p>
<blockquote>
<p>Die Moral von der Geschicht': markiert die Member als solche ('m_'-präfix oder '_'-suffix).</p>
</blockquote>
<p>Oder '_[:lower-case-char:]'-präfix <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="😉"
    /></p>
<p>Andererseits, sollte es egal sein ob height nun ein Member oder eine Konstante oder so ist...</p>
<p>Weitere Alternative: konsistent <code>height()</code> bzw. <code>get_height()</code> nutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1396646</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1396646</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Fri, 02 Nov 2007 20:28:33 GMT</pubDate></item></channel></rss>