<?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[Warum sind die Standardbibliotheken so unleserlich programmiert?]]></title><description><![CDATA[<p>Wenn ich sowas sehe:</p>
<pre><code class="language-cpp">_Pairib insert(const value_type&amp; _Val)
		{	// try to insert node with value _Val
		_Nodeptr _Trynode = _Root();
		_Nodeptr _Wherenode = _Myhead;
		bool _Addleft = true;	// add to left of head if tree empty
		while (!_Isnil(_Trynode))
			{	// look for leaf to insert before (_Addleft) or after
			_Wherenode = _Trynode;
			_Addleft = _DEBUG_LT_PRED(this-&gt;comp,
				this-&gt;_Kfn(_Val), _Key(_Trynode));
			_Trynode = _Addleft ? _Left(_Trynode) : _Right(_Trynode);
			}

		if (this-&gt;_Multi)
			return (_Pairib(_Insert(_Addleft, _Wherenode, _Val), true));
		else
			{	// insert only if unique
			iterator _Where = _TREE_ITERATOR(_Wherenode);
			if (!_Addleft)
				;	// need to test if insert after is okay
			else if (_Where == begin())
				return (_Pairib(_Insert(true, _Wherenode, _Val), true));
			else
				--_Where;	// need to test if insert before is okay

			if (_DEBUG_LT_PRED(this-&gt;comp,
				_Key(_Where._Mynode()), this-&gt;_Kfn(_Val)))
				return (_Pairib(_Insert(_Addleft, _Wherenode, _Val), true));
			else
				return (_Pairib(_Where, false));
			}
		}
</code></pre>
<p>Ist das mit Absicht so komisch geschrieben?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/261261/warum-sind-die-standardbibliotheken-so-unleserlich-programmiert</link><generator>RSS for Node</generator><lastBuildDate>Mon, 07 Sep 2026 09:16:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/261261.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 15 Feb 2010 20:49:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Warum sind die Standardbibliotheken so unleserlich programmiert? on Mon, 15 Feb 2010 20:49:55 GMT]]></title><description><![CDATA[<p>Wenn ich sowas sehe:</p>
<pre><code class="language-cpp">_Pairib insert(const value_type&amp; _Val)
		{	// try to insert node with value _Val
		_Nodeptr _Trynode = _Root();
		_Nodeptr _Wherenode = _Myhead;
		bool _Addleft = true;	// add to left of head if tree empty
		while (!_Isnil(_Trynode))
			{	// look for leaf to insert before (_Addleft) or after
			_Wherenode = _Trynode;
			_Addleft = _DEBUG_LT_PRED(this-&gt;comp,
				this-&gt;_Kfn(_Val), _Key(_Trynode));
			_Trynode = _Addleft ? _Left(_Trynode) : _Right(_Trynode);
			}

		if (this-&gt;_Multi)
			return (_Pairib(_Insert(_Addleft, _Wherenode, _Val), true));
		else
			{	// insert only if unique
			iterator _Where = _TREE_ITERATOR(_Wherenode);
			if (!_Addleft)
				;	// need to test if insert after is okay
			else if (_Where == begin())
				return (_Pairib(_Insert(true, _Wherenode, _Val), true));
			else
				--_Where;	// need to test if insert before is okay

			if (_DEBUG_LT_PRED(this-&gt;comp,
				_Key(_Where._Mynode()), this-&gt;_Kfn(_Val)))
				return (_Pairib(_Insert(_Addleft, _Wherenode, _Val), true));
			else
				return (_Pairib(_Where, false));
			}
		}
</code></pre>
<p>Ist das mit Absicht so komisch geschrieben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856212</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856212</guid><dc:creator><![CDATA[Lonsuder]]></dc:creator><pubDate>Mon, 15 Feb 2010 20:49:55 GMT</pubDate></item><item><title><![CDATA[Reply to Warum sind die Standardbibliotheken so unleserlich programmiert? on Mon, 15 Feb 2010 20:54:43 GMT]]></title><description><![CDATA[<p>Mal abgesehen von den Klammereinrückungen, die mir einen Tab zu weit hinten stehen und den Kommentaren, denen ich meistens gerne eine neue Zeile gönne, find ich es jetzt garnet so schlimm <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856215</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856215</guid><dc:creator><![CDATA[BasicMan01]]></dc:creator><pubDate>Mon, 15 Feb 2010 20:54:43 GMT</pubDate></item><item><title><![CDATA[Reply to Warum sind die Standardbibliotheken so unleserlich programmiert? on Mon, 15 Feb 2010 20:55:44 GMT]]></title><description><![CDATA[<p>Die vielen _ machen sie damit es keine Namenskollisionen gibt. Ansonsten weiss ich auch nicht. Ja, sieht ziemlich mies aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856217</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856217</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 15 Feb 2010 20:55:44 GMT</pubDate></item><item><title><![CDATA[Reply to Warum sind die Standardbibliotheken so unleserlich programmiert? on Mon, 15 Feb 2010 21:08:10 GMT]]></title><description><![CDATA[<p>Für lokale Variablen wäre das nicht nötig.<br />
Ich vermute, das Zeugs wird ganz herkömmlich progammiert und dann durch einen Uglyfier gejagt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856223</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856223</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 15 Feb 2010 21:08:10 GMT</pubDate></item><item><title><![CDATA[Reply to Warum sind die Standardbibliotheken so unleserlich programmiert? on Mon, 15 Feb 2010 21:13:55 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>Für lokale Variablen wäre das nicht nötig.</p>
</blockquote>
<p>Was, wenn ich mich entscheide, alle normalen Namen mit hässlichen #defines zu belegen und dann eine Standardheader einbinde?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856227</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856227</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Mon, 15 Feb 2010 21:13:55 GMT</pubDate></item><item><title><![CDATA[Reply to Warum sind die Standardbibliotheken so unleserlich programmiert? on Mon, 15 Feb 2010 21:23:39 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<p>volkard schrieb:</p>
<blockquote>
<p>Für lokale Variablen wäre das nicht nötig.</p>
</blockquote>
<p>Was, wenn ich mich entscheide, alle normalen Namen mit hässlichen #defines zu belegen und dann eine Standardheader einbinde?</p>
</blockquote>
<p>Gutes Argument <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>
<p>Was ich mich frage: wieso sind die ganzen Bezeichner so ultra-kurz? Wenn ich _Xran() in std::string lese, wird mir jedes mal ganz komisch zumute.<br />
Einzige Erklärung die mir einfällt (abgesehen von der dass P.J. Plauger nen seltsamen Humor haben könnte): kurz ist gut weil weniger RAM, weniger zu parsen -&gt; schneller. Sollte aber eigentlich mittlerweile egal sein. Bzw. sobald man eine einzige Boost-Header einbindet, wird das vermutlich schon länger dauern, als wenn man alle Standard-Library Headers zusammen inkludiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856233</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856233</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 15 Feb 2010 21:23:39 GMT</pubDate></item><item><title><![CDATA[Reply to Warum sind die Standardbibliotheken so unleserlich programmiert? on Mon, 15 Feb 2010 21:50:41 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Einzige Erklärung die mir einfällt (abgesehen von der dass P.J. Plauger nen seltsamen Humor haben könnte): kurz ist gut weil weniger RAM, weniger zu parsen -&gt; schneller. Sollte aber eigentlich mittlerweile egal sein.</p>
</blockquote>
<p>Hmm. Wenn das mal der Grund war, dann könnte es jetzt auch einfach sein, dass es halt einfach immer noch so gemacht wird. Ist so weil war so und bleibt so.</p>
<p>Die Einrückung finde ich auch unintuitiv, aber abgesehen davon gewöhnt man sich eigentlich recht schnell an die Benennung.</p>
<p>Aber man müsste einen Verantwortlichen wirklich mal anschreiben..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856245</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856245</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 15 Feb 2010 21:50:41 GMT</pubDate></item><item><title><![CDATA[Reply to Warum sind die Standardbibliotheken so unleserlich programmiert? on Mon, 15 Feb 2010 22:00:46 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>Ich vermute, das Zeugs wird ganz herkömmlich progammiert und dann durch einen Uglyfier gejagt.</p>
</blockquote>
<p>Das wäre aber echt arsch...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856255</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856255</guid><dc:creator><![CDATA[grml]]></dc:creator><pubDate>Mon, 15 Feb 2010 22:00:46 GMT</pubDate></item><item><title><![CDATA[Reply to Warum sind die Standardbibliotheken so unleserlich programmiert? on Mon, 15 Feb 2010 22:03:34 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<p>volkard schrieb:</p>
<blockquote>
<p>Für lokale Variablen wäre das nicht nötig.</p>
</blockquote>
<p>Was, wenn ich mich entscheide, alle normalen Namen mit hässlichen #defines zu belegen und dann eine Standardheader einbinde?</p>
</blockquote>
<p>Ups, klar. Die Untersrtiche müssen sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856256</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856256</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 15 Feb 2010 22:03:34 GMT</pubDate></item><item><title><![CDATA[Reply to Warum sind die Standardbibliotheken so unleserlich programmiert? on Mon, 15 Feb 2010 22:04:11 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>Für lokale Variablen wäre das nicht nötig.<br />
Ich vermute, das Zeugs wird ganz herkömmlich progammiert und dann durch einen Uglyfier gejagt.</p>
</blockquote>
<p>Was für einen Zweck hätte das denn?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856257</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856257</guid><dc:creator><![CDATA[Samyboy]]></dc:creator><pubDate>Mon, 15 Feb 2010 22:04:11 GMT</pubDate></item><item><title><![CDATA[Reply to Warum sind die Standardbibliotheken so unleserlich programmiert? on Mon, 15 Feb 2010 22:08:40 GMT]]></title><description><![CDATA[<p>Samyboy schrieb:</p>
<blockquote>
<p>volkard schrieb:</p>
<blockquote>
<p>Für lokale Variablen wäre das nicht nötig.<br />
Ich vermute, das Zeugs wird ganz herkömmlich progammiert und dann durch einen Uglyfier gejagt.</p>
</blockquote>
<p>Was für einen Zweck hätte das denn?</p>
</blockquote>
<p>Schutz vor billiger Nachahmung. Wer den Code erstmal lesen kann der kann auch die Algorithmen selbst nachprogrammieren? <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>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856259</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856259</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Mon, 15 Feb 2010 22:08:40 GMT</pubDate></item><item><title><![CDATA[Reply to Warum sind die Standardbibliotheken so unleserlich programmiert? on Mon, 15 Feb 2010 22:10:42 GMT]]></title><description><![CDATA[<p>SideWinder schrieb:</p>
<blockquote>
<p>Samyboy schrieb:</p>
<blockquote>
<p>volkard schrieb:</p>
<blockquote>
<p>Für lokale Variablen wäre das nicht nötig.<br />
Ich vermute, das Zeugs wird ganz herkömmlich progammiert und dann durch einen Uglyfier gejagt.</p>
</blockquote>
<p>Was für einen Zweck hätte das denn?</p>
</blockquote>
<p>Schutz vor billiger Nachahmung. Wer den Code erstmal lesen kann der kann auch die Algorithmen selbst nachprogrammieren? <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>
<p>MfG SideWinder</p>
</blockquote>
<p>Naja, wieso wird es dann nicht ganz &quot;ugly&quot; geschrieben?</p>
<p>z.B alles auf einer Linie, etc.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856260</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856260</guid><dc:creator><![CDATA[Samyboy]]></dc:creator><pubDate>Mon, 15 Feb 2010 22:10:42 GMT</pubDate></item><item><title><![CDATA[Reply to Warum sind die Standardbibliotheken so unleserlich programmiert? on Mon, 15 Feb 2010 22:12:45 GMT]]></title><description><![CDATA[<p>SideWinder schrieb:</p>
<blockquote>
<p>Samyboy schrieb:</p>
<blockquote>
<p>volkard schrieb:</p>
<blockquote>
<p>Für lokale Variablen wäre das nicht nötig.<br />
Ich vermute, das Zeugs wird ganz herkömmlich progammiert und dann durch einen Uglyfier gejagt.</p>
</blockquote>
<p>Was für einen Zweck hätte das denn?</p>
</blockquote>
<p>Schutz vor billiger Nachahmung. Wer den Code erstmal lesen kann der kann auch die Algorithmen selbst nachprogrammieren? <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>
</blockquote>
<p>Das bezweifle ich. <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>Wenn, dann hätten sie das richtig machen müssen, wie man das von gewissen C Programmen kennt. <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/1856262</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856262</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 15 Feb 2010 22:12:45 GMT</pubDate></item><item><title><![CDATA[Reply to Warum sind die Standardbibliotheken so unleserlich programmiert? on Mon, 15 Feb 2010 22:32:05 GMT]]></title><description><![CDATA[<p>Samyboy schrieb:</p>
<blockquote>
<p>Naja, wieso wird es dann nicht ganz &quot;ugly&quot; geschrieben?<br />
z.B alles auf einer Linie, etc.</p>
</blockquote>
<p>Weil man's dann bemergen würde und Prettyprinter benutzen würde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856269</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856269</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 15 Feb 2010 22:32:05 GMT</pubDate></item><item><title><![CDATA[Reply to Warum sind die Standardbibliotheken so unleserlich programmiert? on Tue, 16 Feb 2010 09:29:15 GMT]]></title><description><![CDATA[<p>Es gibt Unternehmen (z.B. Dinkumware), die viel Manpower in die Entwicklung einer hochperformanten STL Implementation investieren. Durch die Template Programmierung ist es notwendig, viele Algorithmen und Techniken in den Header Dateien umzusetzen, die allerdings mit der STL Implementation weitergegen werden müssen. Man gibt quasi sein Know-How mit jeder Compiler Installation weiter. Der einzige Schutz vor Nachahmung besteht dann darin, den Code möglichst unverständlich zu machen, um es den Nachahmern so schwer wie möglich zu machen.<br />
Ich denke, dass volkard mit seiner Vermutung recht hat, der Entwicklercode wird vermutlich völlig anders aussehen und auch Kommentare enthalten; der Release Code wird wohl durch irgendeinen Obfuscator gejagt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856387</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856387</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Tue, 16 Feb 2010 09:29:15 GMT</pubDate></item><item><title><![CDATA[Reply to Warum sind die Standardbibliotheken so unleserlich programmiert? on Tue, 16 Feb 2010 09:47:06 GMT]]></title><description><![CDATA[<p>Aber wie ist das bei der Standardlibrary vom gcc, die steht unter der GPL, also darf sie nicht ausschließlch &quot;obfuscated&quot; ausgeliefert werden. Der Uglifier müsste in den Build/Installationsprozess eingebunden sein. Weiß da jemand was zu?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856394</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856394</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Tue, 16 Feb 2010 09:47:06 GMT</pubDate></item><item><title><![CDATA[Reply to Warum sind die Standardbibliotheken so unleserlich programmiert? on Tue, 16 Feb 2010 12:44:34 GMT]]></title><description><![CDATA[<p>So unleserlich finde ich den Code gar nicht. Okay, der Stil ist vielleicht etwas gewöhnungsbedürftig (eingerückte {}-Blöcke, Klammern um <code>return</code> -Ausdrücke), aber immerhin kommentieren sie beim MSVC++ noch. Die Bezeichner aus dem Beispiel sind im Grossen und Ganzen auch eher verständlich.</p>
<p>Obfuscator... klingt mir ehrlich gesagt etwas nach Verschwörungstheorie.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856517</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856517</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 16 Feb 2010 12:44:34 GMT</pubDate></item><item><title><![CDATA[Reply to Warum sind die Standardbibliotheken so unleserlich programmiert? on Tue, 16 Feb 2010 12:52:54 GMT]]></title><description><![CDATA[<p>Warum sollten die Entwickler der Standardlibrary &quot;Angst&quot; um ihren Code haben?<br />
Macht doch keinen Sinn.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856526</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856526</guid><dc:creator><![CDATA[Icematix]]></dc:creator><pubDate>Tue, 16 Feb 2010 12:52:54 GMT</pubDate></item><item><title><![CDATA[Reply to Warum sind die Standardbibliotheken so unleserlich programmiert? on Tue, 16 Feb 2010 13:11:34 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>So unleserlich finde ich den Code gar nicht. Okay, der Stil ist vielleicht etwas gewöhnungsbedürftig (eingerückte {}-Blöcke, Klammern um <code>return</code> -Ausdrücke), aber immerhin kommentieren sie beim MSVC++ noch. Die Bezeichner aus dem Beispiel sind im Grossen und Ganzen auch eher verständlich.</p>
</blockquote>
<p>Wenn bei uns in der Firma jmd. solche Bezeichner verwenden würde, dann wäre ein ernstes Gespräch fällig!<br />
Wenn ich in 10 Jahren als Programmierer eines gelernt habe, dann dass ein Bezeichner der &quot;eh halbwegs verständlich ist, wenn man mal drüber nachdenkt&quot; kaum besser ist, als ein total zufällig gewählter.</p>
<p>Zeit will ich als Programmierer darauf verwenden das Programm als ganzes zu verstehen. Nicht darauf, die Bedeutung kryptischer Bezeichner zu erraten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856542</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856542</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 16 Feb 2010 13:11:34 GMT</pubDate></item><item><title><![CDATA[Reply to Warum sind die Standardbibliotheken so unleserlich programmiert? on Tue, 16 Feb 2010 13:16:24 GMT]]></title><description><![CDATA[<blockquote>
<p>So unleserlich finde ich den Code gar nicht</p>
</blockquote>
<p>Würde ich auch sagen - ok, mag nicht als Musterbeispiel für verständlichen Code gelten, aber die Obfuscator-Theorie halte ich für übertrieben.<br />
Wenn man die ganzen Unterstriche entfernt und die Einrückung anpasst, sieht es schon viel besser aus:</p>
<pre><code class="language-cpp">Pairib insert(const value_type&amp; Val)
{    // try to insert node with value _Val
    Nodeptr Trynode = Root();
    Nodeptr Wherenode = Myhead;
    bool Addleft = true;    // add to left of head if tree empty
    while (!Isnil(Trynode))
    {    // look for leaf to insert before (_Addleft) or after
        Wherenode = Trynode;
        Addleft = _DEBUG_LT_PRED(this-&gt;comp, 
            this-&gt;Kfn(Val), Key(Trynode));
        Trynode = Addleft ? Left(Trynode) : Right(Trynode);
    }
    if (this-&gt;Multi)
        return Pairib(Insert(Addleft, Wherenode, Val), true);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1856545</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856545</guid><dc:creator><![CDATA[wx++]]></dc:creator><pubDate>Tue, 16 Feb 2010 13:16:24 GMT</pubDate></item><item><title><![CDATA[Reply to Warum sind die Standardbibliotheken so unleserlich programmiert? on Tue, 16 Feb 2010 13:43:12 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Wenn bei uns in der Firma jmd. solche Bezeichner verwenden würde, dann wäre ein ernstes Gespräch fällig!</p>
</blockquote>
<p>Das glaube ich dir gerne. Ich persönlich programmiere ja auch nicht so. Aber ich wollte eher darauf hinaus, dass man bei Bezeichnern wie <code>_Nodeptr</code> , <code>_Root</code> , <code>_Insert</code> noch halbwegs erahnen kann, was gemeint ist (okay, bei <code>_Xran</code> wirds dann schon schwieriger... :)). Ich weiss auch nicht, welchen Code-Richtlinien die MSVC++-Standardbibliotheksentwickler unterlagen, aber zu sagen der Code sei &quot;obfuscated&quot; scheint mir dann doch etwas übertrieben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856582</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856582</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 16 Feb 2010 13:43:12 GMT</pubDate></item><item><title><![CDATA[Reply to Warum sind die Standardbibliotheken so unleserlich programmiert? on Tue, 16 Feb 2010 14:03:37 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Ich weiss auch nicht, welchen Code-Richtlinien die MSVC++-Standardbibliotheksentwickler unterlagen, aber zu sagen der Code sei &quot;obfuscated&quot; scheint mir dann doch etwas übertrieben.</p>
</blockquote>
<p>Hat nichts mit MSVC zu tun. Das ist doch die Library-Implementierung von Dinkumware.</p>
<p>Übrigens, bei mir im beruflichen Umfeld gibt es viele, die vorangehende Unterstriche bei Java-Bezeichnern (Klassen-Attribute) benutzen! Allerdings mit einem Kleinbuchstaben:</p>
<pre><code>private String _name;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1856601</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856601</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Tue, 16 Feb 2010 14:03:37 GMT</pubDate></item><item><title><![CDATA[Reply to Warum sind die Standardbibliotheken so unleserlich programmiert? on Tue, 16 Feb 2010 14:03:40 GMT]]></title><description><![CDATA[<p>Icematix schrieb:</p>
<blockquote>
<p>Warum sollten die Entwickler der Standardlibrary &quot;Angst&quot; um ihren Code haben?<br />
Macht doch keinen Sinn.</p>
</blockquote>
<p>Macht insofern Sinn, dass das C++ Konsortium nur Laufzeitverhalten vorschreibt, es aber bessere und schlechtere Implementationen gibt. Im Grunde ist das das einzige Kriterium, das eine Implementation von der anderen unterscheidet, wenn alle gleich gut wären hätte man nach der ersten aufhören können, weitere zu entwickeln. Warum sollte Dinkumware Arbeit in Code investieren, den STLport/Apache STDCXX genausogut liefern, und das sogar kostenlos?<br />
Über den Begriff Obfuscator kann man natürlich streiten, ab wann ist ein Obfuscator ein Obfuscator? Reicht es aus, wenn er nur Kommentare entfernt oder muss er erst Variablen-/Funktionsnamen durch kryptische Zeichenketten ersetzen?<br />
Vielleicht wäre gestrippt der bessere Ausdruck gewesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856605</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856605</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Tue, 16 Feb 2010 14:03:40 GMT</pubDate></item><item><title><![CDATA[Reply to Warum sind die Standardbibliotheken so unleserlich programmiert? on Tue, 16 Feb 2010 18:31:52 GMT]]></title><description><![CDATA[<p>Also an Obfuscating glaube ich auch nicht. Das lässt sich ja sehr einfach mit einem Refactoring Tool so hinbiegen, wie man möchte.<br />
Wenn ein bekannter Compilerhersteller Implementierungen von Dinkumware unrechtmässig benutzen würde, dann würden die das relativ schnell merken. Sind ja nicht so viele und daher bezweifle ich, dass das der Grund ist, vor allem, weil Umbennen der Bezeichner keine grosse Sache ist.<br />
Wenn, dann müssten die Algorithmen selbst so umgebaut werden, dass sie nicht gleich sind und dann muss man sie selbst implementieren und dann wären wir wieder am Anfang und selbst implementieren darf jeder..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856740</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856740</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 16 Feb 2010 18:31:52 GMT</pubDate></item><item><title><![CDATA[Reply to Warum sind die Standardbibliotheken so unleserlich programmiert? on Tue, 16 Feb 2010 19:30:10 GMT]]></title><description><![CDATA[<p>Klar, Obfußkatet und dann mit Kommendahren. <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="🙄"
    /> Ohne _ und ?: wäre es einfach kein richtiger C++Steil.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856772</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856772</guid><dc:creator><![CDATA[Gambler]]></dc:creator><pubDate>Tue, 16 Feb 2010 19:30:10 GMT</pubDate></item><item><title><![CDATA[Reply to Warum sind die Standardbibliotheken so unleserlich programmiert? on Tue, 16 Feb 2010 19:35:25 GMT]]></title><description><![CDATA[<p>Gambler schrieb:</p>
<blockquote>
<p>Klar, Obfußkatet und dann mit Kommendahren. <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="🙄"
    /> Ohne _ und ?: wäre es einfach kein richtiger C++Steil.</p>
</blockquote>
<p>Dein Text ist auch obfuscated.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856773</guid><dc:creator><![CDATA[Icematix]]></dc:creator><pubDate>Tue, 16 Feb 2010 19:35:25 GMT</pubDate></item></channel></rss>