<?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[C++14 std::set Konstruktoren]]></title><description><![CDATA[<p>Ich bin grad hierüber gestolpert: <a href="http://en.cppreference.com/w/cpp/container/set/set" rel="nofollow">http://en.cppreference.com/w/cpp/container/set/set</a><br />
Kann mir einer erklären wieso in C++14 das Compare-Argument fehlen soll?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/322249/c-14-std-set-konstruktoren</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Jul 2026 10:32:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/322249.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 12 Dec 2013 18:55:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to C++14 std::set Konstruktoren on Thu, 12 Dec 2013 18:55:31 GMT]]></title><description><![CDATA[<p>Ich bin grad hierüber gestolpert: <a href="http://en.cppreference.com/w/cpp/container/set/set" rel="nofollow">http://en.cppreference.com/w/cpp/container/set/set</a><br />
Kann mir einer erklären wieso in C++14 das Compare-Argument fehlen soll?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2371428</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2371428</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Thu, 12 Dec 2013 18:55:31 GMT</pubDate></item><item><title><![CDATA[Reply to C++14 std::set Konstruktoren on Thu, 12 Dec 2013 19:28:28 GMT]]></title><description><![CDATA[<p>Das sind keine Ersetzungen, das sind zusätzliche Konstruktoren. Die sind nützlich, wenn du den Default-Comparator willst, aber einen speziellen Allocator.</p>
<p>(Fehlt nur noch, dass die die Template-Argumente bei Konstruktoren deduzieren, ich frag mich, was daran so schwer sein soll)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2371436</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2371436</guid><dc:creator><![CDATA[stolpert]]></dc:creator><pubDate>Thu, 12 Dec 2013 19:28:28 GMT</pubDate></item><item><title><![CDATA[Reply to C++14 std::set Konstruktoren on Thu, 12 Dec 2013 19:48:40 GMT]]></title><description><![CDATA[<p>stolpert schrieb:</p>
<blockquote>
<p>(Fehlt nur noch, dass die die Template-Argumente bei Konstruktoren deduzieren, ich frag mich, was daran so schwer sein soll)</p>
</blockquote>
<p>Was meinst du genau? Deduktion ist die einzelne Möglichkeit, du kannst Konstruktoren nicht mit explizit angegebenen Template-Argumenten aufrufen.</p>
<p>Oder meinst du, dass man beim <code>std::set</code> nur das erste Template-Argument angeben soll? Wenn du das brauchst, schreib dir einen Maker (wenn du willst, kannst du auch noch Perfect Forwarding einbauen):</p>
<pre><code>template &lt;typename T, typename Compare, typename Alloc&gt;
std::set&lt;T, Compare, Alloc&gt; make_set(const Compare&amp; c, const Alloc&amp; a)
{
    return std::set&lt;T, Compare, Alloc&gt;(c, a);
}

auto set = make_set&lt;int&gt;(myComp, myAlloc);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2371451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2371451</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 12 Dec 2013 19:48:40 GMT</pubDate></item><item><title><![CDATA[Reply to C++14 std::set Konstruktoren on Thu, 12 Dec 2013 19:52:01 GMT]]></title><description><![CDATA[<p>stolpert schrieb:</p>
<blockquote>
<p>Das sind keine Ersetzungen, das sind zusätzliche Konstruktoren. Die sind nützlich, wenn du den Default-Comparator willst, aber einen speziellen Allocator.</p>
</blockquote>
<p>Argh, facepalm.<br />
Danke. <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/2371457</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2371457</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Thu, 12 Dec 2013 19:52:01 GMT</pubDate></item><item><title><![CDATA[Reply to C++14 std::set Konstruktoren on Thu, 12 Dec 2013 19:54:31 GMT]]></title><description><![CDATA[<p>Tipp: Bei den Ersetzungen steht in grün &quot;(until C++14)&quot; <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/2371458</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2371458</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 12 Dec 2013 19:54:31 GMT</pubDate></item><item><title><![CDATA[Reply to C++14 std::set Konstruktoren on Thu, 12 Dec 2013 19:56:03 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Tipp: Bei den Ersetzungen steht in grün &quot;(until C++14)&quot; <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>Ja, das weiß ich (eigentlich).<br />
War nur verwirrt wegen der gleichen Nummer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2371459</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2371459</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Thu, 12 Dec 2013 19:56:03 GMT</pubDate></item><item><title><![CDATA[Reply to C++14 std::set Konstruktoren on Thu, 12 Dec 2013 19:59:41 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Wenn du das brauchst, schreib dir einen Maker (wenn du willst, kannst du auch noch Perfect Forwarding einbauen):</p>
</blockquote>
<p>Genau das brauche ich. Und Maker find ich mühsam und doof.</p>
<p>Ich will <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3602.html" rel="nofollow">http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3602.html</a> und zwar schon seit Jahren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2371461</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2371461</guid><dc:creator><![CDATA[stolpert]]></dc:creator><pubDate>Thu, 12 Dec 2013 19:59:41 GMT</pubDate></item><item><title><![CDATA[Reply to C++14 std::set Konstruktoren on Thu, 12 Dec 2013 20:30:44 GMT]]></title><description><![CDATA[<p>Ich bin generell skeptisch gegenüber Sprachmitteln, die die Syntax minimal verschönern und dafür die Sprache komplexer und Compiler fehleranfälliger machen (Stichwort Deduktionsregeln). Ich persönlich finde, bei</p>
<pre><code>tuple t(4, 3, 2.5);
</code></pre>
<p>halten sich die Verschönerung und die durch die Verschleierung des Templates entstandene Verwirrung die Waage. Mit anderen Worten,</p>
<pre><code>auto t = make_tuple(4, 3, 2.5);
</code></pre>
<p>ist zuweit von einem echten Problem entfernt, als dass ich hier Handlungsbedarf sähe. Die angesprochene Konsistenz, die damit erreicht würde, ist ohnehin fragwürdig -- statt</p>
<pre><code>auto p = make_unique&lt;int&gt;(4);
</code></pre>
<p>kann man nämlich nicht</p>
<pre><code>unique_ptr p(4)
</code></pre>
<p>schreiben, da die Auflösung spätestens bei Zeigern mehrdeutig (oder höchst verwirrend) ist.</p>
<pre><code>unique_ptr q(new int);
/* ist das */ unique_ptr&lt;int&gt; q(new int);
/* oder */    auto q = make_unique&lt;int*&gt;(new int);
</code></pre>
<p>Bei diesen Proposals habe ich zunehmend das Gefühl, dass Leute eher ihre persönlichen Syntaxvorlieben befriedigen als die Sprache verbessern möchten. Viele Leute sehen auch nicht ein, dass jedes Feature, das die Sprache komplexer macht, langfristig negative Auswirkungen hat: Der Lernprozess dauert nochmals länger, Leute verstehen neueren Code nicht mehr, Entwickler wenden sich bei zu grosser Komplexität potentiell ab, Compiler werden schwieriger zu implementieren und enthalten mehr Bugs, der Sprachstandard selbst wird schwieriger konsistent und widerspruchslos zu halten. Für Features mit echtem Mehrwert kann sich das lohnen, aber für solche syntaktischen Oberflächlichkeiten bin ich klar dagegen. Das if-for von kürzlich ist da noch einige Stufen schlimmer.</p>
<p>...aber das ist nur meine Meinung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2371470</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2371470</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 12 Dec 2013 20:30:44 GMT</pubDate></item></channel></rss>