C#-Style foreach
-
warumnichtcpp schrieb:
Warum nicht so
Weil ich eigentlich komplexere Aufgaben vorgesehen habe.
warumnichtcpp schrieb:
zu wünschen
Ich wünsche es mir nicht, sondern Frage, wie man so etwas mit kurzer Schreibweise in C++ macht (und ohne externen Funktionen).
Ich werde noch bis C++0x warten. Da hat man zudem noch Lambda-Funktionen
.Danke und mfG, EOutOfResources
-
warumnichtcpp schrieb:
und im Notfall
BOOST_FOREACHIch verwende
BOOST_FOREACHeigentlich dauernd, nicht nur im Notfall.
Ich kenne viele die es total ih und pfui finden. Bei mir ist das genau umgekehrt.BOOST_FOREACHist einfach nur geil, und saupraktisch noch dazu. Auch die Art wie es implementiert ist finde ich einfach nur cool.----
EOutOfResources schrieb:
Ich werde noch bis C++0x warten. Da hat man zudem noch Lambda-Funktionen
.Was gefällt dir denn an
BOOST_FOREACHnicht?
-
hustbaer schrieb:
Was gefällt dir denn an
BOOST_FOREACHnicht?Den unmodularen Makro-Style.
-
lol
ok
-
EOutOfResources schrieb:
hustbaer schrieb:
Was gefällt dir denn an
BOOST_FOREACHnicht?Den unmodularen Makro-Style.
Das wäre bei einem
foreach-Schlüsselwort inwiefern anders?
-
ipsec schrieb:
Das wäre bei einem
foreach-Schlüsselwort inwiefern anders?Du sagst es ja selbst! Das es ein reserviertes Schlüsselwort ist.
-
Das ist dann aber auch unmodular. Oder anders: wenn BOOST_FOREACH kein Makro wäre, sondern so als Schlüsselwort in C++ existieren würde, welche Vorteile hätte das?
Oder geht es dir um den Namen? Dann reicht ein
#define foreach BOOST_FOREACH.
-
EOutOfResources schrieb:
Den unmodularen Makro-Style.

Dabei gäbe es ja durchaus echte Vorteile, die Range-Based-For gegenüber
BOOST_FOREACHvorzuweisen hat. Zum Beispiel, dass es mit Kommas im Typen klarkommt. Oder dass kein Laufzeitoverhead entsteht.
-
ipsec schrieb:
Oder geht es dir um den Namen?
Nein.
Eigentlich hat sich meine Frage auf die Schreibweise bezogen. Ob man so etwas schreiben kann:
std::list<int> foo; std::deque<int> bar; //foo und barfüllen foreach(int& a, foo) { foreach(int& b, bar) { b += --a; } }
-
Jup, das geht mit BOOST_FOREACH genau so.
Vorteil des Schlüsselworts wäre noch, dass der Compiler die Struktur "kennt" und eventuell besser optimieren kann. Aber im Prinzip gibt es eigentlich keinen Grund, BOOST_FOREACH nicht zu verwenden, wenn man keine direkte Sprachunterstützung hat.