<?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[expicit für default-ctor???]]></title><description><![CDATA[<p>Was soll das bringen??</p>
<p>Ich habe nämlich folgende Zeile in der istream gefunden:</p>
<pre><code class="language-cpp">explicit 
basic_istream(): _M_gcount(streamsize(0)) { }
</code></pre>
<p>PS: Vielleicht ergibt es Sinn, wenn ich sage, dass das ganze im protected-Bereich steht!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/180276/expicit-für-default-ctor</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 18:38:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/180276.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 30 Apr 2007 18:18:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to expicit für default-ctor??? on Mon, 30 Apr 2007 18:18:17 GMT]]></title><description><![CDATA[<p>Was soll das bringen??</p>
<p>Ich habe nämlich folgende Zeile in der istream gefunden:</p>
<pre><code class="language-cpp">explicit 
basic_istream(): _M_gcount(streamsize(0)) { }
</code></pre>
<p>PS: Vielleicht ergibt es Sinn, wenn ich sage, dass das ganze im protected-Bereich steht!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1276552</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1276552</guid><dc:creator><![CDATA[AGS&#x27;ler]]></dc:creator><pubDate>Mon, 30 Apr 2007 18:18:17 GMT</pubDate></item><item><title><![CDATA[Reply to expicit für default-ctor??? on Mon, 30 Apr 2007 18:24:53 GMT]]></title><description><![CDATA[<p>&quot;explicit&quot; garantiert afaik nur, dass dieser konstruktor nicht für implizite konvertierungen verwendet wird. Es heisst nicht, dass man verbietet, das ding als default construktor zu benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1276556</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1276556</guid><dc:creator><![CDATA[Andrey]]></dc:creator><pubDate>Mon, 30 Apr 2007 18:24:53 GMT</pubDate></item><item><title><![CDATA[Reply to expicit für default-ctor??? on Mon, 30 Apr 2007 18:55:15 GMT]]></title><description><![CDATA[<p>Dass es funktioniert sehe ich auch, aber ich will wissen, ob das in irgend einem Fall auch sinnvoll sein kann???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1276577</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1276577</guid><dc:creator><![CDATA[AGS&#x27;ler]]></dc:creator><pubDate>Mon, 30 Apr 2007 18:55:15 GMT</pubDate></item><item><title><![CDATA[Reply to expicit für default-ctor??? on Mon, 30 Apr 2007 19:09:44 GMT]]></title><description><![CDATA[<p>es ist einfach insofern sinnvoll, dass der compiler daraus keinen unsinn bauen kann... das mit dem unsinn machen überlässt man damit einfach dem programmierer <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>was dabei genau schief gehen kann, wenn das irgendwo versehentlich implizit verwendet wird: keine ahnung... habe jetzt ehrlich gesagt keine zeit und keine lust, mich in den iostream header einzulesen... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> , mach dir drum keine sorgen, die leute die das geschrieben haben hatten wohl schon ihre gründe, um diesen impliziten aufruf zu verbieten... <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 du dir das jetzt aber alles durchlesen willst: bitte sehr. Wenn du rausgefunden hast, wozu das so ist, dann kannst du es mir vielleicht erzählen <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="😃"
    /> <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="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1276584</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1276584</guid><dc:creator><![CDATA[Andrey]]></dc:creator><pubDate>Mon, 30 Apr 2007 19:09:44 GMT</pubDate></item><item><title><![CDATA[Reply to expicit für default-ctor??? on Mon, 30 Apr 2007 19:17:45 GMT]]></title><description><![CDATA[<p>basic_istream hat keinen Default-Konstruktor.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1276588</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1276588</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Mon, 30 Apr 2007 19:17:45 GMT</pubDate></item><item><title><![CDATA[Reply to expicit für default-ctor??? on Mon, 30 Apr 2007 23:51:13 GMT]]></title><description><![CDATA[<p>Ich schätze mal &quot;explicit&quot; ist deswegen einfach für jeden ctor erlaubt, damit keine &quot;Unfälle&quot; passieren können wenn man Änderungen am Code macht, z.B. dem 2. Parameter eines Konstruktors einen Default Wert verpasst, oder aber auch dem Default-ctor ein Parameter mit Default-Wert dazumacht.</p>
<p>In beiden Fällen würde aus einem ctor der zuvor nicht für implizite Konvertierungen verwendet werden konnte einer der nun sehrwohl verwendet werden kann. Wenn du da vergisst das explicit davorzuschreiben... bumm, du bist tot.</p>
<p>Also einfach immer vor jeden ctor &quot;explicit&quot; schreiben (es sei denn man WILL die implizite Konvertierung ermöglichen) und gut.</p>
<p>Eigentlich sollte implizite Konvertierung &quot;opt in&quot; sein und nicht &quot;opt out&quot;, aber naja, &quot;explicit&quot; ist halt erst zu spät in den Standard gekommen, da konnte (wollte) man das Default-Verhalten nichtmehr ändern. So kenne ich zumindest die Geschichte...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1276693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1276693</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 30 Apr 2007 23:51:13 GMT</pubDate></item><item><title><![CDATA[Reply to expicit für default-ctor??? on Tue, 01 May 2007 11:11:07 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/30">@AGS</a>'ler<br />
<em>explicit</em> hat im besagten Beispiel keine Bedeutung. Der Standard sagt dazu zwar folgendes</p>
<p>12.3.1-2 schrieb:</p>
<blockquote>
<p>A default constructor may be an explicit constructor; such a constructor will be used to perform default-initialization or value-initialization (8.5).</p>
</blockquote>
<p>Ich sehe da aber keinen Unterschied zum Verhalten ohne explicit.<br />
<em>explicit</em> macht nur dort Sinn, wo ein ctor mit genau einem Argument aufgerufen werden kann. Damit wird einfach eine implizite Konvertierung unterbunden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1276816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1276816</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Tue, 01 May 2007 11:11:07 GMT</pubDate></item></channel></rss>