<?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[std::auto_ptr als globale in einer .dll]]></title><description><![CDATA[<p>Ich habe hier ein Programm das mir erlaubt es zu erweitern mit Plugins.<br />
Diese Plugins werden geladen wenn man dem Programm die .dll und die funktionen angibt sowie die Aufrufkonvention (cdecl oder stdcall).</p>
<p>Damit ist also kein vernünftiges C++ möglich und eventuelle Klassen muss ich als globale anlegen, manchmal auch als Zeiger.<br />
Daher die Frage:<br />
Wie sicher ist es std::auto_ptr als globale zu verwenden? ISt es garantiert dass das Ding lebt bis die .dll entladen wird?<br />
Wird der auto_ptr überhaupt automatisch ungültig wenn die .dll entladen wird, auch wenn man die DllMain nicht verwendet bzw man dort nichts reinschreibt?<br />
Wie ist das Verhalten hier definiert?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/311001/std-auto_ptr-als-globale-in-einer-dll</link><generator>RSS for Node</generator><lastBuildDate>Tue, 04 Aug 2026 05:35:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/311001.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 24 Nov 2012 16:40:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to std::auto_ptr als globale in einer .dll on Sat, 24 Nov 2012 16:40:24 GMT]]></title><description><![CDATA[<p>Ich habe hier ein Programm das mir erlaubt es zu erweitern mit Plugins.<br />
Diese Plugins werden geladen wenn man dem Programm die .dll und die funktionen angibt sowie die Aufrufkonvention (cdecl oder stdcall).</p>
<p>Damit ist also kein vernünftiges C++ möglich und eventuelle Klassen muss ich als globale anlegen, manchmal auch als Zeiger.<br />
Daher die Frage:<br />
Wie sicher ist es std::auto_ptr als globale zu verwenden? ISt es garantiert dass das Ding lebt bis die .dll entladen wird?<br />
Wird der auto_ptr überhaupt automatisch ungültig wenn die .dll entladen wird, auch wenn man die DllMain nicht verwendet bzw man dort nichts reinschreibt?<br />
Wie ist das Verhalten hier definiert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274249</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274249</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Sat, 24 Nov 2012 16:40:24 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr als globale in einer .dll on Sat, 24 Nov 2012 16:43:00 GMT]]></title><description><![CDATA[<p>Ehm.. warum kannst du unique_ptr jetzt noch mal nicht benutzen?^^ PS: Dass der Standard eher wenig garantiert wenn es um .dll geht sollte ja klar sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274250</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274250</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sat, 24 Nov 2012 16:43:00 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr als globale in einer .dll on Sat, 24 Nov 2012 16:42:39 GMT]]></title><description><![CDATA[<p>Sollte kein Problem sein, ich würde aber, falls möglich, zu std::unique_ptr raten, std::auto_ptr ist deprecated...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274251</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274251</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Sat, 24 Nov 2012 16:42:39 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr als globale in einer .dll on Sat, 24 Nov 2012 16:45:34 GMT]]></title><description><![CDATA[<p>cooky451 schrieb:</p>
<blockquote>
<p>Ehm.. warum kannst du unique_ptr jetzt noch mal nicht benutzen?</p>
</blockquote>
<p>Solche Antworten sind immer toll. Nix erklären aber große Reden schwingen ;).</p>
<p>dot schrieb:</p>
<blockquote>
<p>Sollte kein Problem sein, ich würde aber, falls möglich, zu std::unique_ptr raten, std::auto_ptr ist deprecated...</p>
</blockquote>
<p>Danke dir. Aber wieso ist der schon wieder veraltet? Hab ich was verpasst? Zumindest VC++ 2012 wirft keine Warnung aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274252</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274252</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Sat, 24 Nov 2012 16:45:34 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr als globale in einer .dll on Sat, 24 Nov 2012 16:47:56 GMT]]></title><description><![CDATA[<p>Scorcher24 schrieb:</p>
<blockquote>
<p>Aber wieso ist der schon wieder veraltet? Hab ich was verpasst?</p>
</blockquote>
<p>lol, ja, so in etwa die letzten 2 Jahre. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274253</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274253</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sat, 24 Nov 2012 16:47:56 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr als globale in einer .dll on Sat, 24 Nov 2012 17:04:40 GMT]]></title><description><![CDATA[<p>Scorcher24 schrieb:</p>
<blockquote>
<p>dot schrieb:</p>
<blockquote>
<p>Sollte kein Problem sein, ich würde aber, falls möglich, zu std::unique_ptr raten, std::auto_ptr ist deprecated...</p>
</blockquote>
<p>Danke dir. Aber wieso ist der schon wieder veraltet? Hab ich was verpasst? Zumindest VC++ 2012 wirft keine Warnung aus.</p>
</blockquote>
<p>Hast du ein paar Jährchen verschlafen? <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="😃"
    /><br />
Selbst der Standard schlägt <code>unique_ptr</code> vor, ist schon fast witzig:</p>
<p>N3337 D.10 schrieb:</p>
<blockquote>
<p>The class template auto_ptr is deprecated.<br />
[ Note: The class template unique_ptr (20.7.1) provides a better solution. —end note ]</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2274261</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274261</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Sat, 24 Nov 2012 17:04:40 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr als globale in einer .dll on Sat, 24 Nov 2012 17:08:27 GMT]]></title><description><![CDATA[<p>auto_ptr war von vorn herein immer schon ein Hack um so etwas wie Move Semantik zu implementieren ohne Sprachunterstützung dafür. Resultat davon sind dann Dinge wie z.B. dass man einen auto_ptr um keinen Preis jemals in einen std:: Container stecken darf, obwohl sich das problemlos kompilieren ließe. Mit unique_ptr kein Problem. Mit anderen Worten: unique_ptr is auto_ptr done right. auto_ptr die vor C++11 best mögliche Approximation von unique_ptr.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274265</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274265</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Sat, 24 Nov 2012 17:08:27 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr als globale in einer .dll on Sat, 24 Nov 2012 17:09:38 GMT]]></title><description><![CDATA[<p>Lacht ihr ruhig. Ich bin Hobbyentwickler, solange meine Programme funktionieren und der Compiler nicht meckert, mache ich mir relativ wenig Gedanken. Ich muss den Standard nicht auswendig kennen.<br />
Ich versuche mich dran zu halten, aber ich les den nicht jeden Tag und es ist auch nicht die Bibel ;).<br />
Auf einschlägigen Blogs habe ich bisher auch nichts gesehen das darüber berichtet.<br />
Woher soll mans also wissen..<br />
<a href="http://msdn.microsoft.com/en-us/library/b84a89af(v=vs.100).aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/b84a89af(v=vs.100).aspx</a><br />
Da steht auch nix davon.. habs vorhin auf <a href="http://www.cplusplus.com/reference/memory/auto_ptr/" rel="nofollow">http://www.cplusplus.com/reference/memory/auto_ptr/</a> gesehen, da stehts drin.<br />
Aber wie oft schaut man da schon nach..</p>
<blockquote>
<p>auto_ptr war von vorn herein immer schon ein Hack um so etwas wie Move Semantik zu implementieren ohne Sprachunterstützung dafür. Resultat davon sind dann Dinge wie z.B. dass man einen auto_ptr um keinen Preis jemals in einen std:: Container stecken darf, obwohl sich das problemlos kompilieren ließe. Mit unique_ptr kein Problem. Mit anderen Worten: unique_ptr is auto_ptr done right. auto_ptr die vor C++11 best mögliche Approximation von unique_ptr.</p>
</blockquote>
<p>Danke dot. Wie immer eine kompetente Antwort :).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274266</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274266</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Sat, 24 Nov 2012 17:09:38 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr als globale in einer .dll on Sat, 24 Nov 2012 17:13:14 GMT]]></title><description><![CDATA[<p>Scorcher24 schrieb:</p>
<blockquote>
<p>Auf einschlägigen Blogs habe ich bisher auch nichts gesehen das darüber berichtet.</p>
</blockquote>
<p>Hä? <a href="http://herbsutter.com/2012/01/20/gotw-103-smart-pointers-part-1-difficulty-310/" rel="nofollow">http://herbsutter.com/2012/01/20/gotw-103-smart-pointers-part-1-difficulty-310/</a><br />
<a href="http://herbsutter.com/gotw/_103/" rel="nofollow">http://herbsutter.com/gotw/_103/</a><br />
Ich glaube unique_ptr kam jetzt wirklich in so ziemlich jedem lesenswerten C++ Blog vor. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274267</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274267</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sat, 24 Nov 2012 17:13:14 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr als globale in einer .dll on Sat, 24 Nov 2012 17:23:54 GMT]]></title><description><![CDATA[<p>Is ja jetzt gut, ihr hattet euren Spaß.. als obs der Weltuntergang wäre..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274276</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274276</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Sat, 24 Nov 2012 17:23:54 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr als globale in einer .dll on Sat, 24 Nov 2012 19:16:49 GMT]]></title><description><![CDATA[<p>Scorcher24 schrieb:</p>
<blockquote>
<p>als obs der Weltuntergang wäre..</p>
</blockquote>
<p>In einem Monat redest du nicht mehr so leichtsinnig daher <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274321</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274321</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 24 Nov 2012 19:16:49 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr als globale in einer .dll on Sat, 24 Nov 2012 19:21:16 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Scorcher24 schrieb:</p>
<blockquote>
<p>als obs der Weltuntergang wäre..</p>
</blockquote>
<p>In einem Monat redest du nicht mehr so leichtsinnig daher <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
</blockquote>
<p>Hahaha <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/2274322</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274322</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Sat, 24 Nov 2012 19:21:16 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr als globale in einer .dll on Sat, 24 Nov 2012 19:32:26 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Scorcher24 schrieb:</p>
<blockquote>
<p>als obs der Weltuntergang wäre..</p>
</blockquote>
<p>In einem Monat redest du nicht mehr so leichtsinnig daher <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
</blockquote>
<p>Wasn Blödsinn.. sorry aber ihr übertreibt maßlos.<br />
Als auto_ptr noch neu war wurde es im Forum beworben und pure Zeiger schlecht geredet. Nur weils jetzt was neues gibt hört auto_ptr nicht auf zu funktionieren.<br />
Wenns was besseres gibt, fein immer her damit. Aber hier so ne Welle zu machen ist auch nicht richtig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274330</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274330</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Sat, 24 Nov 2012 19:32:26 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr als globale in einer .dll on Sat, 24 Nov 2012 19:36:49 GMT]]></title><description><![CDATA[<p>Na ja, dass auto_ptr böse ist, ist jetzt schon etwas länger her. Als ich angefangen habe C++ zu lernen, war er jedenfalls schon böse. Abgesehen davon hast du den Gag nicht verstanden, der war im übrigen ziemlich lustig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274332</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274332</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sat, 24 Nov 2012 19:36:49 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr als globale in einer .dll on Sat, 24 Nov 2012 19:38:09 GMT]]></title><description><![CDATA[<p>Stell dir mal vor, normalerweise benutze ich gar kein auto_ptr oder unique_ptr oder was auch immer... ich benutze pure pointer und delete.<br />
Liegst schon mit Herzinfarkt am Boden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274333</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274333</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Sat, 24 Nov 2012 19:38:09 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr als globale in einer .dll on Sat, 24 Nov 2012 19:39:56 GMT]]></title><description><![CDATA[<p>Erschreck mich doch nicht so, ich wär fast aus dem Fenster gefallen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274334</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274334</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sat, 24 Nov 2012 19:39:56 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr als globale in einer .dll on Sat, 24 Nov 2012 19:51:55 GMT]]></title><description><![CDATA[<p>Scorcher24 schrieb:</p>
<blockquote>
<p>Stell dir mal vor, normalerweise benutze ich gar kein auto_ptr oder unique_ptr oder was auch immer... ich benutze pure pointer und delete.<br />
Liegst schon mit Herzinfarkt am Boden?</p>
</blockquote>
<p>i-i ... i-i ... i-i ...</p>
<p><strong>Pi</strong> (hohe Stimme): cooky! Was ist passiert? Wieso liegst du im Krankenhaus?!? Oh, mein armer cooky!<br />
<strong>cooky</strong> (Augen nur einen Spalt breit offen): Argh... Er... verwaltet selber.. Speicherrr..... er hält rohe Zeiger auf seine Resourcen...<br />
<strong>Pi</strong>: Was? Was ist, Schatz? So rede doch!<br />
<strong>cooky</strong>: ... ich ertrage den Schmerz nicht... wurde RAII nur auf die Welt gebracht, damit die Leute es ignorieren? Ich habe es immer wieder erklärt... aber es ist Sinnlos...<br />
<strong>Pi</strong>: Wovon redest du? Ist es schon wieder dieses &quot;RAII&quot;? Ich habe dir doch gesagt das führt zu nichts gutem! Ich hab es immer gesagt!<br />
<strong>cooky</strong>: ... hoffentlich verstehen die Menschen eines Tages ...</p>
<p>i-i ... iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii</p>
<p><strong>Pi</strong>: Neiieiein!</p>
<p>P.S.: Nein, ich weiß dass Pi immer für RAII war <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/2274338</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274338</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Sat, 24 Nov 2012 19:51:55 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr als globale in einer .dll on Sat, 24 Nov 2012 19:52:57 GMT]]></title><description><![CDATA[<p>Wie kommst du denn auf Pi? Oo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274339</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274339</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sat, 24 Nov 2012 19:52:57 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr als globale in einer .dll on Sat, 24 Nov 2012 19:56:54 GMT]]></title><description><![CDATA[<p>cooky451 schrieb:</p>
<blockquote>
<p>Wie kommst du denn auf Pi? Oo</p>
</blockquote>
<p>Naja, als du gesagt hast du chattest immer mit ihm... da dachte ich... <em>rote Backen</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274343</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274343</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Sat, 24 Nov 2012 19:56:54 GMT</pubDate></item></channel></rss>