<?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[Ganz simple Frage zu std::begin. :)]]></title><description><![CDATA[<p>Hi,</p>
<p>ich nutze std::begin mit VS10. Aber jetzt muss es auch unter Linux kompilieren. Leider bekomme ich diese Fehler: <a href="http://ideone.com/vdXbq" rel="nofollow">http://ideone.com/vdXbq</a><br />
Fehlt da ein Header oder so? Ich stehe gerade auf dem Schlauch, aber für Leute die Linux nutzen, sollte die Frage eigentlich leicht zu beantworten sein. (Mit MinGW kompiliert es lustigerweise auch..)</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/294688/ganz-simple-frage-zu-std-begin</link><generator>RSS for Node</generator><lastBuildDate>Fri, 14 Aug 2026 14:38:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/294688.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 30 Oct 2011 14:28:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Ganz simple Frage zu std::begin. :) on Sun, 30 Oct 2011 14:28:44 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich nutze std::begin mit VS10. Aber jetzt muss es auch unter Linux kompilieren. Leider bekomme ich diese Fehler: <a href="http://ideone.com/vdXbq" rel="nofollow">http://ideone.com/vdXbq</a><br />
Fehlt da ein Header oder so? Ich stehe gerade auf dem Schlauch, aber für Leute die Linux nutzen, sollte die Frage eigentlich leicht zu beantworten sein. (Mit MinGW kompiliert es lustigerweise auch..)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2137871</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2137871</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sun, 30 Oct 2011 14:28:44 GMT</pubDate></item><item><title><![CDATA[Reply to Ganz simple Frage zu std::begin. :) on Sun, 30 Oct 2011 14:47:48 GMT]]></title><description><![CDATA[<p>Hey<br />
So geht's bei mir:</p>
<pre><code class="language-cpp">[...]
for (auto i = v.begin(); i != v.end(); ++i)
[...]
</code></pre>
<p><s>Ich glaub dieses std::begin(TYP) ist nur VC. Die pfeifen sowieso auf viel zu viele Standards.</s></p>
<p>EDIT: Vielen dank an den unteren Poster. Jetzt weiß ich wieder mehr <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/2137875</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2137875</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 30 Oct 2011 14:47:48 GMT</pubDate></item><item><title><![CDATA[Reply to Ganz simple Frage zu std::begin. :) on Sun, 30 Oct 2011 14:46:06 GMT]]></title><description><![CDATA[<p>Unterstützung für std::begin/end war in gcc 4.5 noch nicht da, mit 4.6 geht es aber.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2137876</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2137876</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Sun, 30 Oct 2011 14:46:06 GMT</pubDate></item><item><title><![CDATA[Reply to Ganz simple Frage zu std::begin. :) on Sun, 30 Oct 2011 14:51:11 GMT]]></title><description><![CDATA[<p>Athar schrieb:</p>
<blockquote>
<p>Unterstützung für std::begin/end war in gcc 4.5 noch nicht da, mit 4.6 geht es aber.</p>
</blockquote>
<p>Okay, ich habe so etwas schon geahnt. Oh man, warum haben die so ein einfaches Feature nicht früher eingefügt?<br />
Wie auch immer, unter Ubuntu liefert apt-get upgrade g++ leider nichts über Version 4.5.2. Heißt das, ich müsste GCC selbst kompilieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2137878</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2137878</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sun, 30 Oct 2011 14:51:11 GMT</pubDate></item><item><title><![CDATA[Reply to Ganz simple Frage zu std::begin. :) on Sun, 30 Oct 2011 15:04:23 GMT]]></title><description><![CDATA[<p>Selbst kompilieren muss nicht sein, gibt auch ein PPA:<br />
<a href="https://launchpad.net/~ubuntu-toolchain-r/+archive/test" rel="nofollow">https://launchpad.net/~ubuntu-toolchain-r/+archive/test</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2137885</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2137885</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Sun, 30 Oct 2011 15:04:23 GMT</pubDate></item><item><title><![CDATA[Reply to Ganz simple Frage zu std::begin. :) on Sun, 30 Oct 2011 15:06:00 GMT]]></title><description><![CDATA[<p>nt0r schrieb:</p>
<blockquote>
<p><s>Ich glaub dieses std::begin(TYP) ist nur VC. Die pfeifen sowieso auf viel zu viele Standards.</s></p>
</blockquote>
<p>Informier dich nächstes Mal besser.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2137887</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2137887</guid><dc:creator><![CDATA[Enttroller]]></dc:creator><pubDate>Sun, 30 Oct 2011 15:06:00 GMT</pubDate></item><item><title><![CDATA[Reply to Ganz simple Frage zu std::begin. :) on Sun, 30 Oct 2011 16:18:55 GMT]]></title><description><![CDATA[<p>Athar schrieb:</p>
<blockquote>
<p>Selbst kompilieren muss nicht sein, gibt auch ein PPA:<br />
<a href="https://launchpad.net/~ubuntu-toolchain-r/+archive/test" rel="nofollow">https://launchpad.net/~ubuntu-toolchain-r/+archive/test</a></p>
</blockquote>
<p>Super danke, nach etwas testen hat es dann geklappt. Für alle die das gleiche Problem haben:</p>
<blockquote>
<p>sudo add-apt-repository ppa:ubuntu-toolchain-r/test<br />
sudo apt-get update<br />
sudo apt-get upgrade g++<br />
sudo apt-get install g++</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2137888</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2137888</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sun, 30 Oct 2011 16:18:55 GMT</pubDate></item><item><title><![CDATA[Reply to Ganz simple Frage zu std::begin. :) on Sun, 30 Oct 2011 16:57:50 GMT]]></title><description><![CDATA[<p>cooky451 schrieb:</p>
<blockquote>
<p>ich nutze std::begin</p>
</blockquote>
<p>voll-qualifiziert? Ich bin mir da nicht sicher, wie man jetzt begin/end wirklich aufrufen soll. Ich würde es wahrscheinlich genauso machen wie bei swap auch: unqualifiziert, so dass ADL noch greift. Auf std::begin/end/swap kann man dann immer noch mit einer using-Deklaration zurückfallen:</p>
<pre><code class="language-cpp">template&lt;class T&gt;
void foo(T const&amp; x)
{
  using std::begin;
  using std::end;
  for (auto it = begin(x), ee = end(x); it!=ee; ++it) {
    ...
  }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2137930</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2137930</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Sun, 30 Oct 2011 16:57:50 GMT</pubDate></item><item><title><![CDATA[Reply to Ganz simple Frage zu std::begin. :) on Sun, 30 Oct 2011 18:08:42 GMT]]></title><description><![CDATA[<p>krümelkacker schrieb:</p>
<blockquote>
<p>cooky451 schrieb:</p>
<blockquote>
<p>ich nutze std::begin</p>
</blockquote>
<p>voll-qualifiziert? Ich bin mir da nicht sicher, wie man jetzt begin/end wirklich aufrufen soll. Ich würde es wahrscheinlich genauso machen wie bei swap auch: unqualifiziert, so dass ADL noch greift. Auf std::begin/end/swap kann man dann immer noch mit einer using-Deklaration zurückfallen:</p>
<pre><code class="language-cpp">template&lt;class T&gt;
void foo(T const&amp; x)
{
  using std::begin;
  using std::end;
  for (auto it = begin(x), ee = end(x); it!=ee; ++it) {
    ...
  }
}
</code></pre>
</blockquote>
<p>Qualifiziert dürfte gut genug genug sein - Ein Container, der ein non-member begin anders definiert als in std, dürfte ohnehin als defekt gelten. Anderseits:</p>
<blockquote>
<p>6.5.4 The range-based for statement [stmt.ranged]<br />
...<br />
— if _RangeT is a class type, the unqualified-ids begin and end are looked up in the scope of class _RangeT<br />
as if by class member access lookup (3.4.5), and if either (or both) finds at least one declaration, beginexpr<br />
and end-expr are __range.begin() and __range.end(), respectively;<br />
— otherwise, <strong>begin-expr and end-expr are begin(__range) and end(__range), respectively, where begin<br />
and end are looked up with argument-dependent lookup (3.4.2). For the purposes of this name lookup,<br />
namespace std is an associated namespace.</strong></p>
</blockquote>
<p>Irgendwann wirds eine neue Auflage von Effective C++ geben, und was Meyers dann dazu sagt, ist dann auch Standard.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2137943</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2137943</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Sun, 30 Oct 2011 18:08:42 GMT</pubDate></item><item><title><![CDATA[Reply to Ganz simple Frage zu std::begin. :) on Sun, 30 Oct 2011 18:43:42 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<p>Qualifiziert dürfte gut genug genug sein - Ein Container, der ein non-member begin anders definiert als in std, dürfte ohnehin als defekt gelten.</p>
</blockquote>
<p>Diese Form von begin(vector) wurde ja gerade deswegen eigneführt, damit es einen Standardweg gibt, um Container die kein iterator interface haben, ein solches zu spendieren(siehe zum Beispiel pre C++0x BOOST_FOREACH welches das genau so definiert hat). Dieses mit qualifizierern aushebeln zu wollen halte ich für suboptimal.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2137954</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2137954</guid><dc:creator><![CDATA[otze]]></dc:creator><pubDate>Sun, 30 Oct 2011 18:43:42 GMT</pubDate></item><item><title><![CDATA[Reply to Ganz simple Frage zu std::begin. :) on Sun, 30 Oct 2011 20:05:28 GMT]]></title><description><![CDATA[<p>Hätte man das nicht als operator begin und operator end verpacken können? Die Operatoren könnte man dann einfach für alles Überladen. Und das std:: Ding wäre auch geklärt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2137979</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2137979</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sun, 30 Oct 2011 20:05:28 GMT</pubDate></item><item><title><![CDATA[Reply to Ganz simple Frage zu std::begin. :) on Sun, 30 Oct 2011 20:07:38 GMT]]></title><description><![CDATA[<p>Lieber STD-Features als Sprach-Features lautet irgend so ne Designregel. Ich denke mal, dass sie da genau so gedacht haben. Zugegebenermaßen fände ich das aber auch schöner.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2137981</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2137981</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Sun, 30 Oct 2011 20:07:38 GMT</pubDate></item><item><title><![CDATA[Reply to Ganz simple Frage zu std::begin. :) on Sun, 30 Oct 2011 20:40:41 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>Lieber STD-Features als Sprach-Features lautet irgend so ne Designregel.</p>
</blockquote>
<p>In etwa, man braucht nichts als Sprachfeature einzuführen, was sich mit Bibliotheksmitteln in ähnlicher Komplexität erreichen lässt.</p>
<p>cooky451 schrieb:</p>
<blockquote>
<p>Hätte man das nicht als operator begin und operator end verpacken können? Die Operatoren könnte man dann einfach für alles Überladen. Und das std:: Ding wäre auch geklärt.</p>
</blockquote>
<p>std::begin darfst du auch für alles spezialisieren, kein exta Sprachfeature nötig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2137992</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2137992</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Sun, 30 Oct 2011 20:40:41 GMT</pubDate></item><item><title><![CDATA[Reply to Ganz simple Frage zu std::begin. :) on Sun, 30 Oct 2011 22:04:56 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>std::begin darfst du auch für alles spezialisieren, kein exta Sprachfeature nötig.</p>
</blockquote>
<p>Doch, das ausdrückliche Erlauben von Spezialisierungen in std (im Gegensatz zur allgemeinen Regel) kommt einem Sprachfature gleich. Also meintest du mit &quot;exta&quot; wohl neu?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2138019</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2138019</guid><dc:creator><![CDATA[trollux]]></dc:creator><pubDate>Sun, 30 Oct 2011 22:04:56 GMT</pubDate></item></channel></rss>