<?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[Was haltet ihr von einem definition Keyword für Funktionsdefinitionen?]]></title><description><![CDATA[<p>tl;dr: Ein kontextsensitives Keyword <code>definition</code> , was eine Funktionsimplementierung kennzeichnet und somit undefined errors durch Tippfehler vermeidet.<br />
Neulich hatte ich einen undefined reference error weil ich mich beim Definieren einer Funktion vertippt hatte. Der Buchstabendrehe viel mir dann natürlich auch nicht bei der Fehlersuche auf, weswegen einige Zeit verloren ging. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /><br />
Da kam mir die Idee ein <code>definition</code> (context sensitive) Keyword einzuführen. Ähnlich wie <code>override</code> wird es am Ende einer Funktionsdefinition eingefügt. Anstatt einen Fehler zu geben, wenn es keine virtuelle Methode überschreibt, gibt es einen Fehler, wenn die Funktion noch nicht vorher deklariert wurde (wie das bei Funktionsdefinitionen in Sourcefiles nicht sein sollte). So erspart man sich solche dämlichen Fehler.<br />
Dagegen spricht natürlich, dass es solche Fehler anderes als bei <code>override</code> nicht zu blöden Runtimebugs führt, sondern lediglich zu Linker-Errors, weswegen es evtl. den Aufwand nicht wert ist.<br />
Was haltet ihr davon?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/326297/was-haltet-ihr-von-einem-definition-keyword-für-funktionsdefinitionen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Jul 2026 06:29:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/326297.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 10 Jun 2014 19:32:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Was haltet ihr von einem definition Keyword für Funktionsdefinitionen? on Tue, 10 Jun 2014 19:32:16 GMT]]></title><description><![CDATA[<p>tl;dr: Ein kontextsensitives Keyword <code>definition</code> , was eine Funktionsimplementierung kennzeichnet und somit undefined errors durch Tippfehler vermeidet.<br />
Neulich hatte ich einen undefined reference error weil ich mich beim Definieren einer Funktion vertippt hatte. Der Buchstabendrehe viel mir dann natürlich auch nicht bei der Fehlersuche auf, weswegen einige Zeit verloren ging. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /><br />
Da kam mir die Idee ein <code>definition</code> (context sensitive) Keyword einzuführen. Ähnlich wie <code>override</code> wird es am Ende einer Funktionsdefinition eingefügt. Anstatt einen Fehler zu geben, wenn es keine virtuelle Methode überschreibt, gibt es einen Fehler, wenn die Funktion noch nicht vorher deklariert wurde (wie das bei Funktionsdefinitionen in Sourcefiles nicht sein sollte). So erspart man sich solche dämlichen Fehler.<br />
Dagegen spricht natürlich, dass es solche Fehler anderes als bei <code>override</code> nicht zu blöden Runtimebugs führt, sondern lediglich zu Linker-Errors, weswegen es evtl. den Aufwand nicht wert ist.<br />
Was haltet ihr davon?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2403365</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2403365</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Tue, 10 Jun 2014 19:32:16 GMT</pubDate></item><item><title><![CDATA[Reply to Was haltet ihr von einem definition Keyword für Funktionsdefinitionen? on Tue, 10 Jun 2014 19:36:30 GMT]]></title><description><![CDATA[<p>Finde ich eher unnötig, weil es den Code aufbläht und kaum Fehler vermeidet.</p>
<p>Mit einer vernünftigen IDE kannst du zur Definition springen (oder gleich die Definition generieren lassen, sodass erst gar keine Tippfehler entstehen) und findest so den Fehler schnell -- gerade wenn die Definition nicht gefunden wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2403366</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2403366</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 10 Jun 2014 19:36:30 GMT</pubDate></item><item><title><![CDATA[Reply to Was haltet ihr von einem definition Keyword für Funktionsdefinitionen? on Wed, 11 Jun 2014 21:58:35 GMT]]></title><description><![CDATA[<p>...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2403367</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2403367</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Wed, 11 Jun 2014 21:58:35 GMT</pubDate></item><item><title><![CDATA[Reply to Was haltet ihr von einem definition Keyword für Funktionsdefinitionen? on Tue, 10 Jun 2014 19:37:37 GMT]]></title><description><![CDATA[<p>Jupp, sowas hab ich mir fast schon gedacht...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2403369</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2403369</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Tue, 10 Jun 2014 19:37:37 GMT</pubDate></item><item><title><![CDATA[Reply to Was haltet ihr von einem definition Keyword für Funktionsdefinitionen? on Tue, 10 Jun 2014 20:37:31 GMT]]></title><description><![CDATA[<p>Ich seh' den grossen Nutzen auch nicht. Hätte aber auch kein Problem damit, wenn es eingeführt würde.<br />
Optional müsste es ja sowieso sein, da es andernfalls ein Breaking-Change von galaktischem Ausmass wäre.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2403380</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2403380</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 10 Jun 2014 20:37:31 GMT</pubDate></item><item><title><![CDATA[Reply to Was haltet ihr von einem definition Keyword für Funktionsdefinitionen? on Tue, 10 Jun 2014 20:44:31 GMT]]></title><description><![CDATA[<p>Der Intelcompiler hat eine Warnstufe dafür.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2403383</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2403383</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 10 Jun 2014 20:44:31 GMT</pubDate></item><item><title><![CDATA[Reply to Was haltet ihr von einem definition Keyword für Funktionsdefinitionen? on Tue, 10 Jun 2014 20:53:57 GMT]]></title><description><![CDATA[<p>Wofür gibt es in C++11 generalized attributes?</p>
<pre><code class="language-cpp">int f() &lsqb;&lsqb;std::implementation&rsqb;&rsqb; {} // error, falls nicht definiert
</code></pre>
<p>~(richtig: generalized attributes werden wohl nie Anwendung finden weil viel zu verbose. Der Standard halt.)~</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2403384</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2403384</guid><dc:creator><![CDATA[derstandardhalt]]></dc:creator><pubDate>Tue, 10 Jun 2014 20:53:57 GMT</pubDate></item><item><title><![CDATA[Reply to Was haltet ihr von einem definition Keyword für Funktionsdefinitionen? on Tue, 10 Jun 2014 20:56:07 GMT]]></title><description><![CDATA[<p>s/definiert/deklariert</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2403385</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2403385</guid><dc:creator><![CDATA[derstandardhalt]]></dc:creator><pubDate>Tue, 10 Jun 2014 20:56:07 GMT</pubDate></item><item><title><![CDATA[Reply to Was haltet ihr von einem definition Keyword für Funktionsdefinitionen? on Tue, 10 Jun 2014 21:25:21 GMT]]></title><description><![CDATA[<p>derstandardhalt schrieb:</p>
<blockquote>
<p>~(richtig: generalized attributes werden wohl nie Anwendung finden weil viel zu verbose. Der Standard halt.)~</p>
</blockquote>
<p>Ach watt <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="🙂"
    /><br />
Die sind auch nicht wirklich mehr &quot;verbose&quot; als z.B. C# attributes.<br />
Und bei vielen Dingen isses egal.<br />
So Sachen wie &quot;pointers do not alias&quot; (restrict) oder &quot;function will never return (except by throwing)&quot; braucht man ausreichend selten. Und der Nutzen wäre ausreichend gross um sich in diesen seltenen Fällen zu überwinden die Attribute doch zu schreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2403388</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2403388</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 10 Jun 2014 21:25:21 GMT</pubDate></item></channel></rss>