<?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 mit typedef &amp;quot;umbenennen&amp;quot;]]></title><description><![CDATA[<p>Hey Leute ich wollte mal fragen ,ob man diese Smartpointer template auto_ptr mit typedef &quot;umbenennen&quot; kann.</p>
<p>Ich meine sowas wie:</p>
<p>typedef std::auto_ptr ISmartPointer</p>
<p>Hab es auch schon mit template class versucht:</p>
<p>template&lt;class T&gt;<br />
typedef std::auto_ptr&lt;T&gt; ISmartPointer</p>
<p>Geht leider nicht, wie müsste man das machen ?=?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/309128/std-auto_ptr-mit-typedef-quot-umbenennen-quot</link><generator>RSS for Node</generator><lastBuildDate>Wed, 05 Aug 2026 12:09:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/309128.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 14 Oct 2012 20:49:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to std::auto_ptr mit typedef &amp;quot;umbenennen&amp;quot; on Sun, 14 Oct 2012 20:49:42 GMT]]></title><description><![CDATA[<p>Hey Leute ich wollte mal fragen ,ob man diese Smartpointer template auto_ptr mit typedef &quot;umbenennen&quot; kann.</p>
<p>Ich meine sowas wie:</p>
<p>typedef std::auto_ptr ISmartPointer</p>
<p>Hab es auch schon mit template class versucht:</p>
<p>template&lt;class T&gt;<br />
typedef std::auto_ptr&lt;T&gt; ISmartPointer</p>
<p>Geht leider nicht, wie müsste man das machen ?=?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260447</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260447</guid><dc:creator><![CDATA[Bob Wolfskin]]></dc:creator><pubDate>Sun, 14 Oct 2012 20:49:42 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr mit typedef &amp;quot;umbenennen&amp;quot; on Sun, 14 Oct 2012 20:53:48 GMT]]></title><description><![CDATA[<p>Nein, es geht nicht. Einzig <code>#define auto_ptr ISmartPointer</code> würde halbwegs gehen.</p>
<p>Es gäbe einen Weg mit C++11, aber da gibt es <code>auto_ptr</code> nicht mehr, sondern den besseren <code>unique_ptr</code> .</p>
<p>Allerdings fällt mir kein sinnvoller Grund ein, auto_ptr umzubenennen. Das führt doch nur zu Verwirrung und ist mit C++11 wieder obsolet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260448</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260448</guid><dc:creator><![CDATA[smarttroll]]></dc:creator><pubDate>Sun, 14 Oct 2012 20:53:48 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr mit typedef &amp;quot;umbenennen&amp;quot; on Sun, 14 Oct 2012 20:54:10 GMT]]></title><description><![CDATA[<p>Nun ja, Template typedefs kommen erst mit C++11, das sieht dann so aus:</p>
<pre><code class="language-cpp">template &lt;int N&gt;
using ISmartPointer = std::auto_ptr&lt;T&gt;;
</code></pre>
<p>Allerdings wird das von VS noch nicht unterstützt, was nicht gerade toll ist. Wo wir gerade dabei sind, das könnte für dich interessant sein: <a href="http://www.gotw.ca/gotw/079.htm" rel="nofollow">http://www.gotw.ca/gotw/079.htm</a><br />
Und auto_ptr ist zu recht deprecated und sollte nicht verwendet werden. Stattdessen nimm lieber unique_ptr oder shared_ptr, die bringt wohl fast jeder aktuelle Compiler mit.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260449</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260449</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sun, 14 Oct 2012 20:54:10 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr mit typedef &amp;quot;umbenennen&amp;quot; on Sun, 14 Oct 2012 21:07:52 GMT]]></title><description><![CDATA[<p>Also mit VS2008 funktionier #define ISmartPointer auto_ptr wunderbar.Jedoch gibt es da noch keine unique/shared_ptr.Gibt es für VS2008 irgendwas anderes ??? Es geht mir nur darum, dass Instanzen von Klassen später freigegeben werden, sonst nichts</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260454</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260454</guid><dc:creator><![CDATA[Bob Wolfskin]]></dc:creator><pubDate>Sun, 14 Oct 2012 21:07:52 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr mit typedef &amp;quot;umbenennen&amp;quot; on Sun, 14 Oct 2012 21:15:28 GMT]]></title><description><![CDATA[<p>Ich würde ihn ja in DeprecatedDumbPointer umbenenennen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260456</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260456</guid><dc:creator><![CDATA[template_t]]></dc:creator><pubDate>Sun, 14 Oct 2012 21:15:28 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr mit typedef &amp;quot;umbenennen&amp;quot; on Sun, 14 Oct 2012 21:17:03 GMT]]></title><description><![CDATA[<p><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/2260458</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260458</guid><dc:creator><![CDATA[Bob Wolfskin]]></dc:creator><pubDate>Sun, 14 Oct 2012 21:17:03 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr mit typedef &amp;quot;umbenennen&amp;quot; on Sun, 14 Oct 2012 21:34:02 GMT]]></title><description><![CDATA[<p><code>scoped_ptr</code> und <code>shared_ptr</code> aus Boost.</p>
<p>Und sonst halt schnell eine Klasse schreiben, die im Destruktor <code>delete</code> aufruft und privaten, nicht implementierten Kopierkonstruktor und Zuweisungsoperator hat. Evtl. noch vor dem Löschen vollständigen Typen mit <code>sizeof</code> sicherstellen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260464</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260464</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 14 Oct 2012 21:34:02 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr mit typedef &amp;quot;umbenennen&amp;quot; on Sun, 14 Oct 2012 22:28:11 GMT]]></title><description><![CDATA[<p>WTF ich mach jetzt folgendes:</p>
<p>ISmartPointer&lt;IGameManager*&gt; _gameManager(new IGameManager());</p>
<p>Wie kann ich jetzt methoden der Instanz _gameManager aufrufen ???<br />
_gameManager-&gt;...fail<br />
_gameManager.get()-&gt;...fail</p>
<p>???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260473</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260473</guid><dc:creator><![CDATA[Bob Wolfskin]]></dc:creator><pubDate>Sun, 14 Oct 2012 22:28:11 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr mit typedef &amp;quot;umbenennen&amp;quot; on Sun, 14 Oct 2012 22:31:50 GMT]]></title><description><![CDATA[<p>Ohh man es ist schon zu spät.Der Stern muss natürlich weg, da es ja schon als Pointer deklariert wird.....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260475</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260475</guid><dc:creator><![CDATA[Bob Wolfskin]]></dc:creator><pubDate>Sun, 14 Oct 2012 22:31:50 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr mit typedef &amp;quot;umbenennen&amp;quot; on Sun, 14 Oct 2012 23:35:18 GMT]]></title><description><![CDATA[<p>Eine aktuelle Version von VS kannst/darfst du nicht nutzen? Würde sich irgendwie anbieten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260489</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260489</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sun, 14 Oct 2012 23:35:18 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr mit typedef &amp;quot;umbenennen&amp;quot; on Mon, 15 Oct 2012 08:44:42 GMT]]></title><description><![CDATA[<p>Ne kann ich gerade nicht, da ich ein paar libs brauche ,die bissher nur auf VS2008 compiliert wurden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260567</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260567</guid><dc:creator><![CDATA[Bob Wolfskin]]></dc:creator><pubDate>Mon, 15 Oct 2012 08:44:42 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr mit typedef &amp;quot;umbenennen&amp;quot; on Mon, 15 Oct 2012 08:52:02 GMT]]></title><description><![CDATA[<p>Wäre das Portieren der Libs auf VS10 so aufwändig?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260570</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260570</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 15 Oct 2012 08:52:02 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr mit typedef &amp;quot;umbenennen&amp;quot; on Mon, 15 Oct 2012 09:36:44 GMT]]></title><description><![CDATA[<p>Template Alias (C++11) Ersatz für C++03</p>
<pre><code class="language-cpp">#include &lt;memory&gt;

template &lt;typename T&gt;
struct s
{
  typedef std::auto_ptr&lt;T&gt; smart_pointer;
};

int main()
{
  s&lt;int&gt;::smart_pointer ptr(new int(3));
}
</code></pre>
<p>Dass besser die Smart Pointer von Boost verwendet werden sollen wurde ja schon erwähnt. Hier nur der allgemeine Ersatz für die C++11 Template Alias.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260586</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260586</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Mon, 15 Oct 2012 09:36:44 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr mit typedef &amp;quot;umbenennen&amp;quot; on Mon, 15 Oct 2012 16:44:47 GMT]]></title><description><![CDATA[<p>Man kann auch sowas Ähnliches auch durch Ableiten bekommen:</p>
<pre><code class="language-cpp">template&lt; class T &gt;
class my_ptr
  : public std::auto_ptr&lt; T &gt;
{
public:
    template&lt; class... Args &gt;
    my_ptr( Args&amp;&amp;... args )
      : std::auto_ptr&lt; T &gt;( std::forward&lt; Args &gt;( args )... )
    {}
    //das gleiche noch für assignment
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2260779</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260779</guid><dc:creator><![CDATA[GorbGorb]]></dc:creator><pubDate>Mon, 15 Oct 2012 16:44:47 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr mit typedef &amp;quot;umbenennen&amp;quot; on Mon, 15 Oct 2012 16:52:52 GMT]]></title><description><![CDATA[<p>GorbGorb schrieb:</p>
<blockquote>
<p>[...]</p>
</blockquote>
<p>C++03 ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260782</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260782</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Mon, 15 Oct 2012 16:52:52 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr mit typedef &amp;quot;umbenennen&amp;quot; on Mon, 15 Oct 2012 17:29:11 GMT]]></title><description><![CDATA[<p>Swordfish schrieb:</p>
<blockquote>
<p>GorbGorb schrieb:</p>
<blockquote>
<p>[...]</p>
</blockquote>
<p>C++03 ?</p>
</blockquote>
<p>Falls variadic templates verfügbar sind, template typedefs aber nicht, ist das eine Lösung. Ansonsten funktioniert es wahrscheinlich auch so passabel (oder man macht noch mal ne Funktion für 2 Parameter rein), bis c++11 verfübar ist:</p>
<pre><code class="language-cpp">template&lt; class T &gt;
class my_ptr
  : public std::auto_ptr&lt; T &gt;
{
public:
    template&lt; class Arg &gt;
    my_ptr( const Arg&amp; arg )
      : std::auto_ptr&lt; T &gt;( arg )
    {}
    template&lt; class Arg &gt;
    my_ptr( Arg&amp; arg )
      : std::auto_ptr&lt; T &gt;( arg )
    {}
    //das gleiche noch für assignment
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2260788</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260788</guid><dc:creator><![CDATA[GorbGorb]]></dc:creator><pubDate>Mon, 15 Oct 2012 17:29:11 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr mit typedef &amp;quot;umbenennen&amp;quot; on Mon, 15 Oct 2012 17:39:35 GMT]]></title><description><![CDATA[<p>theta schrieb:</p>
<blockquote>
<p>Template Alias (C++11) Ersatz für C++03</p>
<pre><code class="language-cpp">#include &lt;memory&gt;

template &lt;typename T&gt;
struct s
{
  typedef std::auto_ptr&lt;T&gt; smart_pointer;
};

int main()
{
  s&lt;int&gt;::smart_pointer ptr(new int(3));
}
</code></pre>
<p>Dass besser die Smart Pointer von Boost verwendet werden sollen wurde ja schon erwähnt. Hier nur der allgemeine Ersatz für die C++11 Template Alias.</p>
</blockquote>
<p>Jetzt noch das typename davorschreiben.<br />
Furchtbar das der MSVC das durchgehen lässt, aber Microsoft lässt es ja selbst bei Codesamples weg ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260795</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260795</guid><dc:creator><![CDATA[Ethon]]></dc:creator><pubDate>Mon, 15 Oct 2012 17:39:35 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr mit typedef &amp;quot;umbenennen&amp;quot; on Mon, 15 Oct 2012 19:11:12 GMT]]></title><description><![CDATA[<p>Ethon schrieb:</p>
<blockquote>
<p>Jetzt noch das typename davorschreiben.<br />
Furchtbar das der MSVC das durchgehen lässt, aber Microsoft lässt es ja selbst bei Codesamples weg ...</p>
</blockquote>
<p>Furchtbar wäre, wenn sie es nicht durchliessen. Hier brauchts nämlich kein <code>typename</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260806</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260806</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 15 Oct 2012 19:11:12 GMT</pubDate></item><item><title><![CDATA[Reply to std::auto_ptr mit typedef &amp;quot;umbenennen&amp;quot; on Mon, 15 Oct 2012 20:00:09 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Ethon schrieb:</p>
<blockquote>
<p>Jetzt noch das typename davorschreiben.<br />
Furchtbar das der MSVC das durchgehen lässt, aber Microsoft lässt es ja selbst bei Codesamples weg ...</p>
</blockquote>
<p>Furchtbar wäre, wenn sie es nicht durchliessen. Hier brauchts nämlich kein <code>typename</code> .</p>
</blockquote>
<p><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="👍"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260816</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Mon, 15 Oct 2012 20:00:09 GMT</pubDate></item></channel></rss>