<?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[auto aus C++0x simulieren]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>Wollte mal nachfragen, wie man eigentlich das Schlüsselwort <code>auto</code> aus dem neuen Standard C++0x simulieren könnte oder zumindest teilweise?<br />
Also grundsätzlich wie man sowas vereinfacht:</p>
<pre><code class="language-cpp">template&lt;typename T1, typename T2, typename T3, typename T4&gt;
ReturnType&lt;T1, T2, T3, T4&gt; create(T1 const&amp; a, T2 const&amp; b, T3 const&amp; c, T4 const&amp; d)
{
  // ...
  return ReturnType&lt;T1, T2, T3, T4&gt;(a, b, c, d);
}

// ...
std::string str;
std::vector&lt;int&gt; vec(5);
ReturnType&lt;std::vector&lt;int&gt;::iterator, std::vector&lt;int&gt;::pointer, bool, std::string&gt; returnValue = create(vec.begin(), &amp;vec[2], false, str);

// Wie bekommt man diese Typedeklaration vor dem returnValue weg? Wie bei auto halt:
auto returnValue = create(vec.begin(), &amp;vec[2], false, str);
</code></pre>
<p>Es ist einfach fast unzumutbar, wenn man sowas vom Programmierer verlangt. Und bis der neue Standard da ist, geht es wahrscheinlich noch ein Weilchen <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 für möglichkeiten gibt es?</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/227335/auto-aus-c-0x-simulieren</link><generator>RSS for Node</generator><lastBuildDate>Tue, 29 Sep 2026 22:43:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/227335.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 13 Nov 2008 23:17:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to auto aus C++0x simulieren on Thu, 13 Nov 2008 23:17:48 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>Wollte mal nachfragen, wie man eigentlich das Schlüsselwort <code>auto</code> aus dem neuen Standard C++0x simulieren könnte oder zumindest teilweise?<br />
Also grundsätzlich wie man sowas vereinfacht:</p>
<pre><code class="language-cpp">template&lt;typename T1, typename T2, typename T3, typename T4&gt;
ReturnType&lt;T1, T2, T3, T4&gt; create(T1 const&amp; a, T2 const&amp; b, T3 const&amp; c, T4 const&amp; d)
{
  // ...
  return ReturnType&lt;T1, T2, T3, T4&gt;(a, b, c, d);
}

// ...
std::string str;
std::vector&lt;int&gt; vec(5);
ReturnType&lt;std::vector&lt;int&gt;::iterator, std::vector&lt;int&gt;::pointer, bool, std::string&gt; returnValue = create(vec.begin(), &amp;vec[2], false, str);

// Wie bekommt man diese Typedeklaration vor dem returnValue weg? Wie bei auto halt:
auto returnValue = create(vec.begin(), &amp;vec[2], false, str);
</code></pre>
<p>Es ist einfach fast unzumutbar, wenn man sowas vom Programmierer verlangt. Und bis der neue Standard da ist, geht es wahrscheinlich noch ein Weilchen <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 für möglichkeiten gibt es?</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1614441</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1614441</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Thu, 13 Nov 2008 23:17:48 GMT</pubDate></item><item><title><![CDATA[Reply to auto aus C++0x simulieren on Thu, 13 Nov 2008 23:22:46 GMT]]></title><description><![CDATA[<p>Geht im Allgemeinen nicht. Es gibt ein paar sehr schlimme Hacks welche zum Beispiel in boost.typeof oder boost.foreach Verwendung finden. Für den Anwendungsfall sind die aber nicht brauchbar. GCC hat ein buildin typeof.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1614444</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1614444</guid><dc:creator><![CDATA[Ben04]]></dc:creator><pubDate>Thu, 13 Nov 2008 23:22:46 GMT</pubDate></item><item><title><![CDATA[Reply to auto aus C++0x simulieren on Fri, 14 Nov 2008 01:42:05 GMT]]></title><description><![CDATA[<p>Ben04 schrieb:</p>
<blockquote>
<p>Geht im Allgemeinen nicht.</p>
</blockquote>
<p>Und in was für Spezialfällen geht es? Ich möchte ja nicht unbedingt gleich die <code>auto</code> Funktionalität haben, einfach nur etwas, um es zu vereinfachen. Auch wenn die Vereinfachung nur in Spezialfällen funktioniert.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1614469</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1614469</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Fri, 14 Nov 2008 01:42:05 GMT</pubDate></item><item><title><![CDATA[Reply to auto aus C++0x simulieren on Fri, 14 Nov 2008 06:53:14 GMT]]></title><description><![CDATA[<p>Guck dir mal <a href="http://www.boost.org/doc/libs/1_37_0/doc/html/typeof.html" rel="nofollow">Boost.Typeof</a> an, insbesondere das BOOST_AUTO Makro. Das benutzt den typeof-Operator des Compilers sofern vorhanden, ansonsten wird dessen Funktionalität emuliert, was allerdings überhaupt nicht mehr schön ist...</p>
<p>Die Funktionsweise der Emulation ist <a href="http://www.nabble.com/Re%3A-How-does-BOOST_TYPEOF-works--p20082883.html" rel="nofollow">hier</a> noch ein bißchen genauer erklärt als in der Dokumentation.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1614490</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1614490</guid><dc:creator><![CDATA[dooooomi]]></dc:creator><pubDate>Fri, 14 Nov 2008 06:53:14 GMT</pubDate></item><item><title><![CDATA[Reply to auto aus C++0x simulieren on Fri, 14 Nov 2008 08:05:02 GMT]]></title><description><![CDATA[<p>Wäre für Schreibfaule nicht einfach ein typedef einfacher und übersichtlicher?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1614526</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1614526</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Fri, 14 Nov 2008 08:05:02 GMT</pubDate></item><item><title><![CDATA[Reply to auto aus C++0x simulieren on Fri, 14 Nov 2008 08:25:49 GMT]]></title><description><![CDATA[<p>Fellhuhn schrieb:</p>
<blockquote>
<p>Wäre für Schreibfaule nicht einfach ein typedef einfacher und übersichtlicher?</p>
</blockquote>
<p>In vielen Fällen ist das leider nicht praktikabel. Nehmen wir mal das Beispiel aus der Boost.Typeof Doku.<br />
Der wirklich triviale Boost.Lambda-Ausdruck</p>
<pre><code class="language-cpp">_1 &gt; 15 &amp;&amp; _2 &lt; 20
</code></pre>
<p>hat den Typ</p>
<pre><code class="language-cpp">lambda_functor&lt;
    lambda_functor_base&lt;
        logical_action&lt;and_action&gt;,
        tuple&lt;
            lambda_functor&lt;
                lambda_functor_base&lt;
                    relational_action&lt;greater_action&gt;,
                    tuple&lt;
                        lambda_functor&lt;placeholder&lt;1&gt; &gt;,
                        int const
                    &gt; 
                &gt; 
            &gt;,
            lambda_functor&lt;
                lambda_functor_base&lt;
                    relational_action&lt;less_action&gt;,
                    tuple&lt;
                        lambda_functor&lt;placeholder&lt;2&gt; &gt;,
                        int const 
                    &gt; 
                &gt; 
            &gt;
        &gt; 
    &gt; 
&gt;
</code></pre>
<p>Sowas möchte man nicht wirklich tippen müssen, mal ganz abgesehen davon, daß man den genauen Typ bei sowas gar nicht genau wissen will (oder gar kann).</p>
<p>Ähnliche Probleme kriegt man z.B. mit Regeln in Boost.Spirit, und ich bin sicher es gibt noch viele andere Fälle, wo <code>auto</code> sehr hilfreich wäre.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1614536</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1614536</guid><dc:creator><![CDATA[dooooomi]]></dc:creator><pubDate>Fri, 14 Nov 2008 08:25:49 GMT</pubDate></item><item><title><![CDATA[Reply to auto aus C++0x simulieren on Sun, 16 Nov 2008 05:47:27 GMT]]></title><description><![CDATA[<p>Ben04 schrieb:</p>
<blockquote>
<p>Für den Anwendungsfall sind die aber nicht brauchbar.</p>
</blockquote>
<p>Warum nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1615387</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1615387</guid><dc:creator><![CDATA[Drehleiter]]></dc:creator><pubDate>Sun, 16 Nov 2008 05:47:27 GMT</pubDate></item><item><title><![CDATA[Reply to auto aus C++0x simulieren on Sun, 16 Nov 2008 08:35:33 GMT]]></title><description><![CDATA[<p>Hier gibts ne gut auto simulation<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-p-is-1615085.html#1615085" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-p-is-1615085.html#1615085</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1615394</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1615394</guid><dc:creator><![CDATA[tipp]]></dc:creator><pubDate>Sun, 16 Nov 2008 08:35:33 GMT</pubDate></item><item><title><![CDATA[Reply to auto aus C++0x simulieren on Sun, 16 Nov 2008 12:35:59 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Wenn du mit sowas spielen (Ich sage spielen, weil wirklich darauf verlassen in einem nicht-experimentalen Projekt würde ich mich noch nicht) willst, dann empfehle ich dir unbedingt mal einen Blick auf die <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=922B4655-93D0-4476-BDA4-94CF5F8D4814&amp;displaylang=en" rel="nofollow">Visual Studio 2010 CTP</a> zu werfen. Dort funktionieren <code>auto</code> , lambda-expressions und einige andere Dinge aus C++0x schon ganz gut. Stell allerdings sicher, dass du einen starken PC zum Programmieren hast, denn du musst das ganze mit VirtualPC starten (der bootet dann Windooze Server 2008 und das ist tödlich mit unter 4GB Ram und Dual-Core Prozessoren :(). Kompilierte Programme laufen selbstverständlich auch ausserhalb von VirtualPC^^ Ist aber wie gesagt nur etwas für experimentierfreudige Leute mit viel Zeit <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>tipp schrieb:</p>
<blockquote>
<p>Hier gibts ne gut auto simulation<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-p-is-1615085.html#1615085" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-p-is-1615085.html#1615085</a></p>
</blockquote>
<p><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>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1615488</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1615488</guid><dc:creator><![CDATA[*rant*]]></dc:creator><pubDate>Sun, 16 Nov 2008 12:35:59 GMT</pubDate></item></channel></rss>